Comment quitter le moteur de réécriture Apache immédiatement sous condition, sans réécriture

Mon fichier .htaccess est dans la racine, et services multiples sites Web.

Il contient un bloc RewriteEngine.

Je voudrais empêcher les règles d’évaluation d’Apache si l’hôte n’est pas (www) www.example.com:

RewriteEngine On RewriteBase / #If this is not about example.com, it is probably about our other websites, exit here RewriteRule %{HTTP_HOST} !^(www|)example.com$ - [L] 

Cependant, cela entraîne une erreur interne de 500. Une directive RewriteRule est probablement due à l’utilisation de {HTTP-HOST}.

Alors je pense maintenant à quelque chose comme ceci:

 RewriteCond %{HTTP_HOST} !^(www|)example.com RewriteRule (.*) $1 [L] 

Mais cela nécessiterait une réécriture Apache et serait mauvais pour les performances.

Quelqu’un une suggestion?

Je voudrais empêcher les règles d’évaluation d’Apache si l’hôte n’est pas (www) http://www.example.com

Vous utilisez quand même mod_rewrite. La façon de le faire est de sauter la règle si ce n’est pas www , vous devez donc vous assurer que c’est le cas.

Quelque chose comme ça devrait fonctionner dans le fichier .htaccess du répertoire racine:

 RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] RewriteRule ^(.*) /$1 [NC,L] 

C’est le contraire de ce que vous avez essayé.

OPTION

Suite à la suggestion d’ Arkanon , cette option suppose qu’il y a plus de domaines et applique la règle uniquement à celle sélectionnée (example.com), avec ou sans www.

 RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^(www\.)?example\.com [NC] RewriteRule ^(.*) /$1 [NC,L]