2010-12-21 35 views
0

我有以下的.htaccess規則:如何防止第二次呼叫在.htaccess適用mod_rewrite的規則後

RewriteEngine on 
RewriteRule ^(.*) http://www.server2.com/index.php?action=$1 

我需要添加另一個重定向,應該以這種方式工作:

RewriteRule ^app/(.*) index.php [L] 

所以請求不會傳遞給server2,而是服務到位。

據我所知,如果我添加這一行,第二次調用.htaccess並將其重定向到server2.com/index.php。

我希望,我可以使用某種開關來防止第二次mod_rewrite調用,或者我應該使用RewriteCond(例如here)?

回答

2

排除第二個規則的圖案在你的第一條規則:

RewriteCond $1 !^app/(.*) 
RewriteRule ^(.*) http://www.server2.example/index.php?action=$1 
RewriteRule ^app/(.*) index.php [L]