[英]Apache - .htaccess: mod_rewrite and ErrorDocument won't work together
我不確定這是什么錯誤,但無法將404錯誤重定向到特定頁面。 .htaccess的樣子如下:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]
RewriteRule ^(.+) index.php
ErrorDocument 404 http://www.someurl.com/error404/404.php
錯誤文件夾和文件存在,並且當我執行curl -i http://www.someurl.com/notexistent
它將返回正確的404錯誤代碼。 但是沒有重定向,既沒有卷曲,也沒有瀏覽器。 那怎么可能? 抱歉,我不是這些.htaccess配置的專家,非常感謝您的幫助。
編輯1:我嘗試了不同的URL,如:
ErrorDocument 404 http://www.someurl.com/error404/
ErrorDocument 404 /error404/404.php
ErrorDocument 404 /error404/
但是沒有成功。
編輯2:我忘了提:mod_rewrite正常工作。 僅404重定向不起作用。
使用您的RewriteRule
您可以將沒有真實文件或文件夾的所有頁面都重寫為index.php
沒有404錯誤的異常...
嘗試:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php? [L,R=404]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.