2014-05-04 162 views
1

這裏是我的代碼的.htaccess重定向頁面未找到特定頁面

RewriteRule ^error$ error.php [QSA,L] 
RewriteRule ^siteuri_partenere$ siteuri_partenere.php [QSA,L] 
RewriteRule ^politica_de_confidentialitate$ politica_de_confidentialitate.php [QSA,L] 
RewriteRule ^blog - [L,NC] 

RewriteRule ^([^/.]+)/?$ game.php?weblink=$1 [L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . /error [L,R=302] 

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

所以,如果我改變了行

RewriteRule . /error [L,R=302] 

RewriteRule . /page_not_found [L,R=302] 

,然後我測試WWW .domain.com/1q2w3e,仍然重定向到/錯誤,而不是/ page_not_found,所以我非常困惑,問題在哪裏?

+0

您是否嘗試使用其他瀏覽器進行測試? – anubhava

+0

是的,我嘗試了+刪除cookies。 –

回答

1

很可能你有一些ErrorDocument 404指令覆蓋你的重寫規則。將此代碼放入根目錄中.htaccess:

Options +FollowSymLinks -MultiViews 
ErrorDocument 404 default 
RewriteEngine On 

RewriteRule ^blog - [L,NC] 

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

RewriteRule ^error$ error.php [L] 

RewriteRule ^siteuri_partenere$ siteuri_partenere.php [L] 

RewriteRule ^politica_de_confidentialitate$ politica_de_confidentialitate.php [L] 

RewriteRule ^([^/.]+?)/?$ game.php?weblink=$1 [L,QSA] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /page_not_found [L,R=302] 
+0

仍然無法正常工作,我在我的本地主機和我的網站主機上嘗試過,很混亂。 –

+0

它是否仍然重定向到'/ error'?你輸入的原始網址是什麼? – anubhava

+0

我測試了ex localhost/1q2w3enotexistpage,仍然重定向到/ error –