2009-01-21 9 views
1

Quelqu'un pourrait-il me aider à traduire le pseudo-code suivant dans le code compris par Helicon Tech's ISAPI_Rewrite module:Helicon Tech - Isapi_Rewrite: RewriteRule pour des domaines spécifiques de

if (domain == something.com OR domain == www.something.com) 
{ 
    // The rules inside this scope will only apply to the domain: 
    // something.com/www.something.com 

    // This should match "something.com/test" and/or "www.something.com/test" 
    RewriteRule /something /something/something.aspx 
} 


if (domain == test.com OR domain == www.test.com) 
{ 
    // The rules inside this scope will only apply to the domain: 
    // test.com/www.test.com 

    // This should match "test.com/test" and/or "www.test.com/test" 
    RewriteRule /test /test/test.aspx 
} 

Le documentation est très déroutant pour moi.

Toute aide est très appréciée.

Répondre

0

Merci pour l'effort Gumbo et Tomalak. J'apprécie beaucoup.

J'ai cependant trouvé une autre approche: vous mettez un fichier (httpd.ini) contenant des réécrits spécifiques dans un répertoire/domaine virtuel spécifique dans le dossier racine de ce répertoire/domaine virtuel. Ceci élimine également la pollution du fichier de configuration global.

+0

Comment cela est-il lié à votre question? :-) – Tomalak

3

Si ISAPI_Rewrite fonctionne comme mod_rewrite d'Apache, essayez ceci:

RewriteCond %{HTTP_HOST} ^(www\.)?something\.example$ 
RewriteRule ^/something$ /something/something.aspx 

RewriteCond %{HTTP_HOST} ^(www\.)?test\.example$ 
RewriteRule ^/test$ /test/test.aspx 

Note: je les autres noms de domaine selon RFC 2606.


Edit: Il semble que pour ISAPI_Rewrite vous devez remplacer le %{HTTP_HOST} par Host: pour obtenir l'hôte actuel.

2

Ceci est la syntaxe "ancienne", utilisée avant la version 3:

RewriteCond Host: ^(www\.)?something\.com$ 
RewriteRule ^/something$ /something/something.aspx 

RewriteCond Host: ^(www\.)?something\.com$ 
RewriteRule ^/test$ /test/test.aspx 

Ce serait la nouvelle syntaxe, pour la version 3 et plus. Ceci est plus proche de mod_rewrite:

RewriteCond %{HTTP:Host} ^(www\.)?something\.com$ 
RewriteRule ^/something$ /something/something.aspx 

RewriteCond %{HTTP:Host} ^(www\.)?something\.com$ 
RewriteRule ^/test$ /test/test.aspx 

La regex elle-même est la même dans les deux versions.

+0

Je pense que la nouvelle syntaxe devrait être% {HTTP_HOST} (underscore au lieu du côlon). –

+0

C'est ce que leur propre outil de conversion de syntaxe m'a donné. – Tomalak

+0

Les deux sont valides: http://www.helicontech.com/isapi_rewrite/doc/RewriteCond.htm – Gumbo

Questions connexes