واضح آرشیو وب فارسی:سایت ریسک: t=3907">نمايش پيغام براي صفحهاي كه وجود delavar 28 مهر 1382, 15:30با سلام در بعضي از سايتها وقتي صفحهاي را ميخواهيم كه وجود ندارد پيغام ميدهد كه چنين صفحهاي وجود ندارد. آيا اين از امكانات خود سايت است يا با برنامهنويسي مثلاasp ميتوان اين كار را كرد؟ با تشكر دلاور saman_sweden 28 مهر 1382, 16:11با سلام در بعضي از سايتها وقتي صفحهاي را ميخواهيم كه وجود ندارد پيغام ميدهد كه چنين صفحهاي وجود ندارد. آيا اين از امكانات خود سايت است يا با برنامهنويسي مثلاasp ميتوان اين كار را كرد؟ هم امكان خود سايت ميتونه باشه و هم برنامه نويسي كه بنام Error: 404 است با تشكر دلاور delavar 29 مهر 1382, 09:29با سلام هم امكان خود سايت ميتونه باشه و هم برنامه نويسي كه بنام Error: 404 است [/quote] سلام :wink: با تشكر از راهنمايي شما لطفاْ كاملتر جواب بدهيد كه بنده به جواب برسم. چطور ميتوانم با asp يا asp.net آن را ايجاد كرد؟ با تشكر دلاور BM 29 مهر 1382, 18:06از htaccess مي توانيد استفاده كنيد و ربطي به ASP/PHP/PERL ... نداره. روش بسيار ساده تر اين است كه براي هر error يك فايل بسازيد با اسم:error.shtml بطور مثال l.404.shtml (از اول اسم .l را برداريد در اين اديتور نمي توانستم بهتر تايپ كنم) اگر هم در ويندوز هستيد در IIS ميتوانيد custom error پيج ها را براحتي تغيير بديد. در shtml ميتوانيد از تگ هاي زير براي نشان دادن محتويات error استفاده كنيد: <!--#echo var="REMOTE_ADDR" --> <!--#echo var="REQUEST_URI" --> <!--#echo var="" --> <!--#echo var="" --> .... ( اين اديتور RTL هست و كمي جابجا كرده تگ ها رو، دفت اگر كنيد مشخص هست كه چطوري هستند) delavar 30 مهر 1382, 08:19سلام :wink: با تشكر از راهنمايي شما بنده فايلي با نام e_404.shtml ساخت البته بدون (_e) و آن را در روت قرار دادم اما هيچ تغييري نكرد :!: و همان پيغام خود ويندوز نشان داده شد. در ضمن اين تگ هايي كه فرموديد هم داخل body قرار دادم و باز هم هيچ اتفاقي نيافتاد. راستي اين تگ ها چه هستند و چه كارهايي ميتوان با آن كرد؟ با تشكر از راهنمايي كامل شما دلاور :arrow: hoom 30 مهر 1382, 11:42سلام فكر كنم اين عكس همه چيز رو توضيح بده : ارادتمند kavian 30 مهر 1382, 18:19سلام دوست عزيز براي ساختن Custom Error Page معمولا از فايل htaccess. استفاده مىكنند. براي انجام اين كار : 1- ابتدا يك صفحه HTML بسازيد تا اگر صفحه مورد نظري روي Server وجود نداشت كاربر به اين صفحه Redirect بشه. اين صفحه رو با نام Notfound.html ذخيره كنيد. 2- Notepad رو باز كنيد و خط زير رو تايپ كنيد ErrorDocument 404 /Notfound.html و اين فايل رو با نام htaccess. ذخيره كنيد. موضوع مهم نام اين فايل هست كه بايد htaccess. باشه و در واقع اين يك فايل با نام htaccess نيست بلكه يك file extension ( پسوند فايل ) است. 3- هر 2 فايل رو روي دايركتوري ريشه سايتتون Upload كنيد. اما دقت كنيد فايل htaccess. بايد بصورت ASCII آپلود بشه نه BINARY و CHMOD اون رو به 644 تنظيم كنيد. اين كار باعث ميشه كه Server توانايي خوندن فايل رو داشته باشه اما براي Browser قابل خوندن نباشه. از اين به بعد اگر كاربر صفحه اي رو كه روي Server وجود نداره جستجو كنه Browser صفحه Notfound.html رو نمايش ميده. اما با ASP هم ميشه اين كار رو بصورت نه چندان اصولي انجام داد. كد زير كمكتون ميكنه. اگه متوجه نشديد چطور از اين كد استفاده كنيد بعدا در موردش توضيح ميدم: <% Set FSO = Server.CreateObject("Scripting.FileSystemObject") If NOT FSO.FileExists(Server.MapPath(*.*)) then Response.Redirect("Notfound.html") End If Set FSO = Nothing %> delavar 05 آبان 1382, 13:22سلام :wink: از تمامي دوستاني كه منت سر بنده نهاده و راهنمايي كردند تشكر ميكنم بخصوص جناب آقاي كاويان كه توضيح كامل اراپه كردند. جناب آقاي كاويان بنده يك فايل بدون نام و با پسوند htaccess ساختم و محتواي آن را همانطور كه فرموديد ErrorDocument 404 /Notfound.html قرار دادم و فايل Notfound.html را هم ساختم و هر دوي آن را در روت قرار دادم. ولي اتفاقي نيافتاد :!: البته با آن كد asp هم بسيار سر و كله زدم و تنها چيزي كه به ذهنم رسيد اين بود كه آن را در فايل global.asa قرار دهم كه آن هم ايراد ميگرفت. راستي ويندوز بنده ايكسپي هست. با تشكر دلاور kavian 05 آبان 1382, 14:33سلام Delavar عزيز اگر روشي كه گفتم به همون صورت عمل كرده باشي و فايل htaccess. رو بصورت BINARY آپلود و CHMOD رو به 644 تنظيم كرده باشي بايد جواب بده. چون خودم تست كردم. البته ممكنه كه Servere شما اين امكان رو نداشته باشه و يا اين اجازه رو به شما نده كه به فايل htaccess. دسترسي پيدا كنيد. اما عموما Serverهاي تحت Unix و Linux و هر نسخه اي از Apache web server اين فايل رو پشتيباني مىكنند. روش عمومي براي ساختن Custom Error Page همين هست. delavar 06 آبان 1382, 10:24سلام :( ظاهرا سرور ما اين رو ساپورت نميكنه :cry: ولي اگر بشه با اون چند خط asp كار را راه انداخت بسيار عالي ميشود. چطور ميتوانم از آن استفاده كنم. اگر امكان دارد توضيحي در مورد نحوه استفاده آن را بفرماييد. با تشكر از شما دلاور delavar 06 آبان 1382, 12:17سلام :( ظاهرا سرور ما اين رو ساپورت نميكنه :cry: ولي اگر بشه با اون چند خط asp كار را راه انداخت بسيار عالي ميشود. چطور ميتوانم از آن استفاده كنم. اگر امكان دارد توضيحي در مورد نحوه استفاده آن را بفرماييد. راستي همش از اين *.* ايراد ميگيره! داخل " " هم گذاشتم ولي فرقي نكرد! If NOT FSO.FileExists(Server.MapPath(*.*)) then با تشكر از شما دلاور kavian 07 آبان 1382, 14:16سلام Delavar عزيز همونطور كه گفتم روش اصولي استفاده از htaccess هست. و اما استفاده از ASP براي ساختن Custom Error Page : اول كد رو مىنويسم: <% Set FSO = Server.CreateObject("Scripting.FileSystemObject") Entry = Request.Querystring("targetlocation") If Entry = "" Then Response.Redirect("Home.asp") Else If NOT FSO.FileExists((Server.MapPath(Entry))) then Response.Redirect("404page.html") Else Response.Redirect(Entry) End If End If Set FSO = Nothing %> شما ابتدا بايد يك صفحه با نام Default.asp و يا index.asp بسازيد و اون رو در دايركتوري ريشه سايتتون قرار بديد و تمام لينك هاي صفحاتتون رو همراه با آدرس كامل پارامتر targetlocation به به اين صفحه ارسال كنيد. مثلا فرض كنيد مىخوايد به صفحه Contact.asp لينك كنيد. براي اين كار بايد آدرس لينك رو بصورت زير وارد كنيد: ;// وقتي كاربر براي ورود به سايت شما آدرس رو تايپ مىكنه صفحه ASP بالا اجرا ميشه و چون مقدار پارامتر targetlocation تهي است؛ كد بالا كاربر رو به صفحه Home.asp كه صفحه اول سايت شماست Redirect ميكنه. حالا فرض كنيد مىخوايد به صفحه Contact.asp بريد. اگر targetlocation برابر Contact.asp باشه كاربر به اين صفحه Redirect ميشه ولي اگر مقدار ديگه اي مثل abcd.html داشته باشه؛ چون اين صفحه وجود نداره كاربر به صفحه 404page.html فرستاده ميشه. البته بصورت هاي ديگه اي هم ميتونيد از اين كد استفاده كنيد. مثلاً در يك Frameset و يا اينكه اون رو در تمام صفحات ASP قرار بديد. اميدوارم سخت توضيح نداده باشم. اگه بازم سوالي بود در خدمتم. delavar 13 آبان 1382, 09:53سلم :wink: آقا كاويان خيلي ممنون عجب راهي جالبي نشان دادي٬ واقعاْ توپ بود. دلاور
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 564]