2010-02-17 11 views
0

J'ai ce qui suit dans mon .htaccess currently-mod_rewrite syntaxe rewrite_rule question

<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> 

Je veux changer de sorte que est et inséré autodétectés le domaine « http://foo.com » (ou tout simplement laissé si elle est inutile .

J'espère utiliser cette .htaccess pour gérer plusieurs domaines mis en correspondance avec la même base de code et ne peut pas avoir vraiment travailler avec un URI spécifique il

Répondre

1

utilisez RewriteCond pour que:.

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

Cela a du sens. Donc, je voudrais simplement écrire une section comme ci-dessus pour chaque domaine que je veux aborder dans le .htaccess? Dois-je faire des sections séparées RewriteRules pour chaque RewriteCond ou existe-t-il un moyen de faire en sorte que tous les RewriteConds utilisent la même règle? – Marty

+0

Alors comme ça - RewriteCond% {REMOTE_HOST}^host1 * [OR] RewriteCond% {REMOTE_HOST}^host2 * [OR] RewriteCond% {REMOTE_HOST}^host3 * RewriteRule ... – Marty

+0

Vous... peut utiliser le drapeau 'OR' sur' RewriteCond' pour logiquement - ou les conditions, mais mod_rewrite ne supporte pas n'importe quel type de branchement. –