2015-09-25 224 views
0

我試圖讓只有重定向當變量動作是空的網站索引像一個重寫規則:重寫規則的Apache的htaccess

RewriteCond %{REQUEST_URI} /file.php 
RewriteCond %{QUERY_STRING} !^action= [NC] 
RewriteRule ^([^/]+)/?$/[L] 

訪問file.php應該重定向到/和文件。 php?action = value不應該重定向。

但它不工作,我做錯了什麼?

回答

0

您可以使用:

RewriteEngine on 
RewriteCond %{QUERY_STRING} !^action= [NC] 
RewriteRule ^file\.php/[NC,L,R] 

也就是說,如果你測試變量action存在的作品。

如果你需要測試的空變量的存在,使用方法:只

RewriteCond %{QUERY_STRING} !^action=[^&]+ [NC] 
RewriteRule ^file\.php/[QSD,NC,L,R] 

[QSD]工作以來的Apache 2.4.0。如果這不是你的情況下,使用:

RewriteRule ^file\.php /? [NC,L,R] 
+0

他們都不是爲我工作,不知道這是因爲我使用Apache 2.4事件MPM –

+0

我加'RewriteEngine敘述on'。結果或問題是什麼?這工作在這裏很好:http://htaccess.madewithlove.be/ – Croises

+0

是的,我認爲我有一個編譯apache2模塊的問題,謝謝你的規則! –