تالار گفتمان nCIS.ir

نسخه‌ی کامل: عدم نمایش صفحه 404
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام وقت همگی بخیر.
یک صفحه 404 ساختم داخل یه فولدر قرار دادم.ولی زمانیکه صفحه ای وجود ندارد به صفحه 404 نمیره.
کد htaccess هم به شکل زیر:
Options +FollowSymlinks
RewriteEngine on

RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  
RewriteRule ^(.*)$ index.php?param=$1 [QSA]

ErrorDocument 400 http://www.%{HTTP_HOST}/400
ErrorDocument 401 http://www.%{HTTP_HOST}/400
ErrorDocument 403 http://www.%{HTTP_HOST}/403
ErrorDocument 404 http://www.%{HTTP_HOST}/404
ErrorDocument 500 http://www.%{HTTP_HOST}/500

RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

ممنون میشم راهنمایی کنید مشکلم حل بشه
پسوند صفحاتتون چیه؟ html. ؟ باید مسیر کامل رو بنویسید.
نخیر پسوند فایلها .php هست و داخل یک فولدر به نام errors هست.البته صفخه رو به صورت دستی که میزنم http://www.domain.ir/404 باز میشه ولی از داخل htaccess اجرا نمیشه
فکر میکنم مشکل از آدرس دهی باشه. لاگ خطاهای آپاچی رو بررسی کنید.
آدرس دهی رو تغییر دادم ولی هیچ تغییری نکرد.لاگ آپاچی رو کجای هاست میتونم ببینم؟هاستم دایرکت ادمین؟
و یه سوال دیگه ممکن چیزی روی هاست غیر فعال باشه که این دستور و اجرا نمیکنه؟البته فقط همین دستور htaccess رو اجرا نمیکنه.

با تشکر
(14-05-1394، 01:00 ب.ظ)mehr1362 نوشته: [ -> ]سلام وقت همگی بخیر.
یک صفحه 404 ساختم داخل یه فولدر قرار دادم.ولی زمانیکه صفحه ای وجود ندارد به صفحه 404 نمیره.
کد htaccess هم به شکل زیر:
Options +FollowSymlinks
RewriteEngine on

RewriteCond %{SCRIPT_FILENAME} !-d  
RewriteCond %{SCRIPT_FILENAME} !-f  
RewriteRule ^(.*)$ index.php?param=$1 [QSA]

ErrorDocument 400 http://www.%{HTTP_HOST}/400
ErrorDocument 401 http://www.%{HTTP_HOST}/400
ErrorDocument 403 http://www.%{HTTP_HOST}/403
ErrorDocument 404 http://www.%{HTTP_HOST}/404
ErrorDocument 500 http://www.%{HTTP_HOST}/500

RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

ممنون میشم راهنمایی کنید مشکلم حل بشه

سلام از کد زیر استفاده کن و نتیجرو اعلام کن.


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L,QSA]

ErrorDocument 404 http://uraddress/404


سلام.
ممنون از راهنمایی ولی پسوند همه فایلهام php هست متاسفانه این کد رو که میگذارم کلا سایت بالا نمیاد.
یه موردی که هست اینه که کلا not found رو نادیده میگیره و میره فایل ایندکس پروژه رو اجرا میکند.
توی تنظیمات Apache چک کنید AllowOverride روی All باشه.
(19-05-1394، 12:37 ق.ظ)ADMIN نوشته: [ -> ]توی تنظیمات Apache چک کنید AllowOverride روی All باشه.

بله روی all بود.
زمانیکه http_response_code() داخل ایندکس قرار میدم 200 بر میگردونه.
کدهایی که شما نوشتید باعث میشه اگه فایل یا پوشه ای پیدا نشد اون درخواست رو به صفحه index.php بفرسته و با این شرایط کدهای بعدی که مربوط به خطای 404 هست هیچ موقع اجرا نمیشن. با این شرایط شما میتونید خطای 404 رو تو فایل index.php کنترل کنید.
(19-05-1394، 10:58 ق.ظ)MRPM نوشته: [ -> ]کدهایی که شما نوشتید باعث میشه اگه فایل یا پوشه ای پیدا نشد اون درخواست رو به صفحه index.php بفرسته و با این شرایط کدهای بعدی که مربوط به خطای 404 هست هیچ موقع اجرا نمیشن. با این شرایط شما میتونید خطای 404 رو تو فایل index.php کنترل کنید.

ممنون از راهنماییتون.
همین کارو کردم مشکل حل شد