0
.htaccess文件:htaccess的重寫不會在某些頁面的工作
我有以下htaccess文件(這是很短):
RewriteEngine on
Options +FollowSymLinks
RewriteBase/
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9_]+)/?$ index.php?page=$1 [L]
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9_]+)/(.+)/?$ index.php?page=$1¶ms=$2 [L]
我認爲這是很容易理解:如果一個文件不存在,那麼url被重寫。
問題:
一個「錯誤」的文件夾或文件不存在,因此應rewrited。但是,當我嘗試訪問url.local/error/404
不起作用,但url.local/error
的作品。
也許是Apache的問題?
編輯:
摘要:
http://url.local/dir
工作http://url.local/dir/subdir
工作http://url.local/dir/subdir/subdir
工作http://url.local/error
工作http://url.local/error/subdir
不工作
你的答案似乎是正確的,但仍然沒有工作,同一個Apache 404錯誤。這很奇怪,因爲'url.local/error'可以工作,但'url.local/error/400'不是 – dimasdmm
順便說一下,我在我的筆記本電腦中使用了一個虛擬主機(請參閱我正在寫'url.local') ,但我不認爲這是問題。 – dimasdmm
'http:// url.local/error/xxx' – dimasdmm