「可以CodeIgniter顯示404錯誤類型index.php網址的頁面?」
不,它不能。如果您輸錯index.php
,那麼您不再在/使用CodeIgniter。
看看這個文件,你會發現index.php
正在構建一切,最後一行是包含CodeIgniter.php核心文件。
www.example.com/index.php/mistypedcontroller/mistypedfunction
這第一個以上是使用index.php
,所以它是由笨生成。
www.example.com/mistyped.php/controller/function
這第二個,因爲它不使用index.php
,絕對沒有做笨。
有沒有辦法在這裏顯示相同的404頁?
它必須是一個獨立的文件,並配置爲通過Apache的.htaccess
文件中使用ErrorDocument 404
選擇您的特定服務器。
或者,如果你只是按照the documentation for removing the index.php
from the URL,你的情況永遠不會發生;您破損的URL示例將導致CodeIgniter 404錯誤,因爲任何/每個URL(指向的文件不存在)都會被強制到您的index.php
文件中。
如果你的Apache服務器已經啓用mod_rewrite
,你可以很容易地通過使用.htaccess
文件有一些簡單的規則刪除此文件。下面是這樣一個文件的一個例子,使用「負」的方法中,一切都被重定向除指定的項目:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
在上述例子中,任何HTTP請求比其他現有目錄和現有文件被視爲您的index.php
文件的請求。
好的,我現在明白了。謝謝 – daxu
@daxu,不客氣。請「接受」我的回答。謝謝。 – Sparky