1
我試圖如果用戶導航到URL/DIR/test.ext做(每次)的.htaccess重定向如果文件存在,那麼重定向回
- 檢查是否存在/dir/test.ext
- 是否存在重定向它的URL/index.php的
- 然後重定向的index.php回/var/test.ext
我試過到目前爲止:
個.htacess: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^?]*)$ /index.php?path=$1 [NC,L,QSA]
的index.php:趕上1S用戶從$ 1頁來了以後到期的重定向到URL,檢查之前未訪問過,setCookie方法,重定向回 - 我敢肯定有一個誤差這種機制 -
與.htaccess中的問題是,如果該文件不存在,它只會工作,如果我將其更改爲(-f)我會得到Internal Server Error
因爲它」(-f規則!)會進入無限重定向循環。
什麼是這個完整的目標是什麼?我認爲你正嘗試將用戶從不存在/dir/doesnotexist.ext這樣的地方重定向到你的索引,但第二次重定向沒有意義。爲什麼一旦他們到達index.php,他們又會重定向它們?我會爲此使用404頁。您可以設置一個特殊的404錯誤頁面,並在其中添加重定向。你也可以設置一個你的索引檢查的會話變量,如果找到了,它們將不能訪問你的索引,直到會話被再次銷燬。你能提供更多信息嗎? –
@TylerRadlick如果文件dosn't不存在,我不會嘗試重定向。我試圖重定向到index.php只有當文件存在。用戶訪問url/a.php?b = c - >檢查是否存在a.php - >重定向到index.php - >重定向回a.php?b = c。謝謝 – user2676847