2011-12-17 53 views
1

我的.htaccess看起來像這 -如何防止mod_rewrite處理HTTP Post請求?

<IfModule mod_rewrite.c> 
Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/
RewriteRule ^auth\.php$ - [L] 
RewriteRule ^static - [L] 
RewriteRule (.*) router.php [L] 
</IfModule> 

它基本上確保所有請求路由到router.php(除auth.php和靜態文件夾)

現在的問題是,每當我發佈表單後,mod_rewrite強制HTTP POSTTS被路由到router.php。

如何確保HTTP POST不會路由到router.php?

回答

6

你可以制定基於apache服務器提供的各種東西重寫的條件,如請求方法或主機。該指令被稱爲RewriteCond。只有匹配一個或多個條件的請求才會被重寫。

RewriteCond %{REQUEST_METHOD} !POST 
RewriteRule .* router.php [L] 

%{REQUEST_METHOD}是一個包含請求方法的服務器變量。 List of methods