我使用.htaccess
來顯示我的404頁面,同時在瀏覽器中顯示請求的URL而不是實際的404 URL。要做到這一點,我有這行我.htaccess
:自定義404重寫+排除主目錄重寫
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /404.php [L]
這工作不錯,每當我去一個不存在的文件(即blalba.php
)。
問題是:當我嘗試去我的主站點dir(即http://example.com/
)時,我看到了404頁面。當我直接進入我的索引文件(即http://example.com/index.php
)時,一切正常。
我怎麼能修改.htaccess
到不重定向我的主要目錄?
因此,實際上,主要的目錄被排除在上面的重寫代碼之外。
答:
見下面回答並添加RewriteCond %{REQUEST_FILENAME} !-d
解決了這個問題!
不幸的是,我不是能夠得到它的工作就是我想要的。 'http:// example.com /'仍然顯示'404' - 由於我是一個帶htaccess的新手,我可能犯了一個錯誤,但我無法從重寫規則中「解析」主目錄。 – Andrej
哈哈!我沒有正確閱讀你的問題!我已經添加了另一個答案 –
在嘗試編輯答案之後,它仍然將「/」重定向到404.php,但是在嘗試了更多並添加了「RewriteCond%{REQUEST_FILENAME}!-d」之後,它現在可以運行:) – Andrej