2010-02-17 55 views
0

我有以下的在我的.htaccess currently-mod_rewrite的rewrite_rule語法問題

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteRule ^go/([^/]*)/([0-9]+)/([0-9]+)/?$ http://foo.com/wp-content/plugins/foo/cloak.php?post_id=$2&link_num=$3&cloaked_url=$0 [L] 
RewriteRule ^go/([^/]+)[/]?$ http://foo.com/wp-content/plugins/foo/cloak.php?name=$1&cloaked_url=$0 [L] 
</IfModule> 

我想改變它,以便域「http://foo.com」,自動檢測和插入(或只是離開,如果是不必要的。

我希望用這個的.htaccess管理多個映射域相同的代碼庫,並不能真正擁有它與特定URI在那裏工作

回答

1

使用RewriteCond爲:

RewriteCond %{HTTP_HOST} !^foo.com$ 
RewriteRule ... 
+0

這很有道理。所以我基本上只是寫一個像上面那樣的部分,我想在.htaccess中解決每個域的問題? 我是否需要爲每個RewriteCond分別執行RewriteRules或者有沒有辦法讓所有RewriteConds使用相同的規則? – Marty 2010-02-17 04:49:37

+0

所以這樣的 - ? 的RewriteCond%{REMOTE_HOST}^*主機1 [OR] 的RewriteCond%{REMOTE_HOST}^*主機2 [OR] 的RewriteCond%{REMOTE_HOST}^*主機3重寫規則 ... – Marty 2010-02-17 04:52:21

+0

你。可以使用'RewriteCond'上的'OR'標誌來邏輯或條件,但mod_rewrite不支持任何分支。 – 2010-02-17 04:52:27