我試圖從根目錄重定向除圖像,CSS,JavaScript以外的所有請求到我的index.php
,因此用戶無法直接訪問.php
等其他文件。.htaccess雙查詢字符串參數
我在.htaccess
文件下列規則在我的網站的根目錄:
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_URI} !\.(css|js|png|jpe?g|gif|bmp|txt)$
RewriteRule ^(.*)$ index.php?url=$1 [NC,L,QSA]
在index.php文件,我寫print_r($_SERVER)
當我[QUERY_STRING]
下訪問例如/test
它顯示的東西我不理解:
array(
..
[QUERY_STRING] => url=index.php&url=test
..
)
我的問題是:這是怎麼回事?和這會影響網站的性能嗎?
注意:如果我加了RewriteCond %{REQUEST_FILENAME} !-f
它只顯示url=test
,但是這允許直接訪問文件,所以刪除了這個條件。
這表明您有兩個重定向。 /測試index.php?url =測試和比index.php第二個你有。 – Cheery 2014-10-02 20:23:01
@Cheery是否可以只有一個重定向? – John 2014-10-02 20:24:41
您是否嘗試添加不重定向index.php請求的條件?實際上,這是'!-f'的工作方式 - 它不會在文件存在時重定向。 – Cheery 2014-10-02 20:25:19