PDA

View Full Version : سوال: چگونه صفحه خطا را عوض کنم؟؟



pirmard66
یک شنبه 13 اسفند 1391, 23:39 عصر
با سلام خدمت اساتید محترم

مثلا این ادرس رو داریم:

www.tets.com/class/a/edu (http://www.tets.com/class/a/edu)

میخوام هروقت کسی ادرس رو به این شکلها نوشت یک صفحه ارور برای نمایش دربیاد:

www.tets.com/class/a/111 (http://www.tets.com/class/a/111)

www.tets.com/class/ (http://www.tets.com/class/)

و غیره..

وقتی این ادرسها از سوی کاربر وارد میشه صفحه خالی میاد فقط!!!!
اگه میشه اساتید یه توضیحی بدن...
با تشکر

Unique
دوشنبه 14 اسفند 1391, 01:52 صبح
ببینید باید دید url rewriting توی فایل htaccess. شما چطور تعریف شده ! معمولا وقتی کسی صفحه ای را درخواست میکنه که وب سرور نمیدونه چیه خطای 404 Not FOUND داده میشه که میشه برای این خطا صفحات خاصی را در نظر گرفت. سوالتون بدون دونستن اینکه توی htaccess. چی نوشتین قابل جواب دادن نیست.

pirmard66
دوشنبه 14 اسفند 1391, 09:57 صبح
این کد .httacsess منه:


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|pdf|gif|ico|jpg|js|png|swf|pdf|txt|php)$
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ $1.php?$2=$3 [L,QSA]

Unique
دوشنبه 14 اسفند 1391, 12:11 عصر
ببینین تعاریف شما توی htaccess. خیلی مطلقه ! مثلا وقتی یک پارامتر باید فقط شامل حروف لاتین یا عددی باشه باید دقیقا اون را تعین کنید با regular exp ، کلا اگه url rewrite شرط براش معتبر باشه باید صفحه ای را بیاره که در صورت مشسکل دار بودن پارامتر ها خودتون باید خطا را تولید کنید یا هم پیدا نکنه و 404 بده که باید خطای 404 را مدیریت کنید.

اگه دارین از framework خاصی استفاده میکنید خودش میتونه باعث این مشکل شما بشه ، به هر حال من باز هم با اطلاعاتی که دادین دقیقا متوجه مشکل نشدم.

pirmard66
دوشنبه 14 اسفند 1391, 13:09 عصر
من از فریمورک استفاده نمیکنم..

من مدیریت خطای 404 رو میخوام...

ببینید...میخوام این صفحه و صفحات مشابه رو نیاره!!!! ( لینک زیر رو ببینید )

لینک (http://bikari.net/home/news/group/1=1)

با تشکر

pirmard66
دوشنبه 14 اسفند 1391, 23:07 عصر
اساتید نظری ندارن؟؟؟

MMSHFE
دوشنبه 14 اسفند 1391, 23:18 عصر
این یک راه حل خیلی ساده که جلوی درخواستهای تک قسمتی و دو قسمتی و همچنین درخواستهایی که توی اونها بجز حروف الفبا چیزی اومده باشه رو میفرسته به صفحه 404.php


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|pdf|gif|ico|jpg|js|png|swf|pdf|txt|php)$
RewriteRule ^([^/]+)$ 404.php [L]
RewriteRule ^([^/]+)/([^/]+)$ 404.php [L]
RewriteRule ^([^a-zA-Z]+)/([^a-zA-Z]+)/([^a-zA-Z]+)$ 404.php [L]
RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)/([a-zA-Z]+)$ $1.php?$2=$3 [L,QSA]

البته راههای بهتری هم هست ولی من قصدم این بود که راه حل حتی الأمکان ساده باشه تا متوجه کارکرد کدها بشین.

pirmard66
دوشنبه 14 اسفند 1391, 23:29 عصر
ممنونم...اونوقت برای اینکه صفحه 404 خودم بیاد چی؟؟؟؟

pirmard66
دوشنبه 14 اسفند 1391, 23:40 عصر
این یک راه حل خیلی ساده که جلوی درخواستهای تک قسمتی و دو قسمتی و همچنین درخواستهایی که توی اونها بجز حروف الفبا چیزی اومده باشه رو میفرسته به صفحه 404.php


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|pdf|gif|ico|jpg|js|png|swf|pdf|txt|php)$
RewriteRule ^([^/]+)$ 404.php [L]
RewriteRule ^([^/]+)/([^/]+)$ 404.php [L]
RewriteRule ^([^a-zA-Z]+)/([^a-zA-Z]+)/([^a-zA-Z]+)$ 404.php [L]
RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)/([a-zA-Z]+)$ $1.php?$2=$3 [L,QSA]

البته راههای بهتری هم هست ولی من قصدم این بود که راه حل حتی الأمکان ساده باشه تا متوجه کارکرد کدها بشین.

کار نکرد.....:ناراحت:

نمیدونم چرا!!!
کلا بهم ریخت صفحه رو

MMSHFE
دوشنبه 14 اسفند 1391, 23:48 عصر
اینو همینجوری سریع نوشتم و تست نکردم. تا فردا براتون تست شده اش رو میگذارم. الآن با موبایل وصل شدم. ضمناً این کد همون صفحه 404 خودتون رو نشون میده.

رضا قربانی
سه شنبه 15 اسفند 1391, 11:07 صبح
اینجا یه دیدی بزن مشکلت حل میشه : http://barnamenevis.org/showthread.php?276467-%D8%AA%D8%B1%D9%81%D9%86%D8%AF%D9%87%D8%A7%DB%8C-.htaccess

pirmard66
سه شنبه 15 اسفند 1391, 13:52 عصر
اینو همینجوری سریع نوشتم و تست نکردم. تا فردا براتون تست شده اش رو میگذارم. الآن با موبایل وصل شدم. ضمناً این کد همون صفحه 404 خودتون رو نشون میده.

منتظرم
با تشکر..


اینجا یه دیدی بزن مشکلت حل میشه : http://barnamenevis.org/showthread.php?276467-%D8%AA%D8%B1%D9%81%D9%86%D8%AF%D9%87%D8%A7%DB%8C-.htaccess

نه متاسفانه خواسته من توی این صفحه نبود!

ممنونم...

pirmard66
چهارشنبه 16 اسفند 1391, 00:33 صبح
دوستان کسی نظری نداره؟؟؟

با تشکر

MMSHFE
چهارشنبه 16 اسفند 1391, 09:02 صبح
اینو امتحان کنید:


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|pdf|gif|ico|jpg|js|png|swf|pdf|txt|php)$
RewriteRule ^([^/]+)$ 404.php [L,NC]
RewriteRule ^([^/]+)/([^/]+)$ 404.php [L,NC]
RewriteRule ^([a-z]+)/([a-z]+)/([a-z]+)$ $1.php?$2=$3 [L,NC,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ 404.php [L,NC]

pirmard66
چهارشنبه 23 اسفند 1391, 16:36 عصر
اینو امتحان کنید:


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(css|pdf|gif|ico|jpg|js|png|swf|pdf|txt|php)$
RewriteRule ^([^/]+)$ 404.php [L,NC]
RewriteRule ^([^/]+)/([^/]+)$ 404.php [L,NC]
RewriteRule ^([a-z]+)/([a-z]+)/([a-z]+)$ $1.php?$2=$3 [L,NC,QSA]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ 404.php [L,NC]


متاسفانه جواب نداد....

من تا هفت متغیر استفاده کردم در htacsess

mehbod.rayaneh
چهارشنبه 23 اسفند 1391, 17:10 عصر
ینی مخواید متن صفحه 404 را عوض کنید؟! :-/
همه صفحات اورو را از توی cpanel میتونید تغییر بدیدا!!!

pirmard66
چهارشنبه 23 اسفند 1391, 18:41 عصر
نه...

اول میخوام صفحه خطا رو ایجاد کنم و بعد صفحه خطای خودمو بزارم!


دوستان منتظر راهنماییتون هستم

pirmard66
سه شنبه 06 فروردین 1392, 00:35 صبح
دوستان من هنوز این مشکل رو حل نکردم...

کسی راهنمایی نمیکنه؟؟؟

اساتید عزیز....