2010-09-09 74 views
2

任何人都可以建議嗎?我想有遊客到我的網站的默認頁爲的index.php和所有不存在的網頁訪問者應該看到errordoc.phpErrorDocument似乎並沒有在我的.htaccess中工作

所以我把這個在.htaccess:

ErrorDocument 404 /errordoc.php 

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} !^mysite\.org\.uk$ [NC] 
RewriteRule ^(.*)$ http://mysite.org.uk/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

不幸的是,一切都會index.php,包括錯誤。我試過問我的朋友谷歌,但今天是休息日!

+0

陌生,它看起來不錯。如果您刪除重寫部分,它是否工作? – 2010-09-09 11:12:06

+0

感謝Pekka,我已經刪除了最後一條重寫規則,現在它工作得很好。 – user114671 2010-09-09 11:41:21

+0

並把所有其他東西留在原地? LOL – 2010-09-09 11:54:45

回答

2

您的最後一條規則將捕獲無法映射到現有文件(RewriteCond %{REQUEST_FILENAME} !-f)或現有目錄(RewriteCond %{REQUEST_FILENAME} !-d)上的所有請求。這就是爲什麼錯誤文檔不會被提供。

+0

我看到了 - 謝謝! – user114671 2010-09-09 11:38:42

1

您在此文件中有2個不兼容的部分。選擇一個
只留下第一行或僅留下文件的其餘部分。但不是兩個。

底部三線告訴web服務器指示所有不存在的網頁的index.php文件,而不是errordoc.php

+0

我看到了 - 謝謝! – user114671 2010-09-09 11:39:13