Question

essentiellement besoin de convertir

avec www ou pas, exemple.com/[anycharacter]

dans

avec www ou pas, exemple.com/cgi-bin/new-disk.cgi/dir/smooth/[anycharacter]

additionnellement ...

Je voudrais rediriger TOUT www.exemple.com vers exemple.com

.
Était-ce utile?

La solution

Cela devrait fonctionner pour vous:

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

RewriteCond %{REQUEST_FILENAME} !cgi-bin/new-disk.cgi/dir/smooth
RewriteRule ^(.*)$ /cgi-bin/new-disk.cgi/dir/smooth/$1 [L]

Pour les deux premières lignes, il vérifie si vous avez www dans votre URL. Si tel est le cas, utilisez la version non-www.

Notez le point d'exclamation (! ) à l'avant dernière ligne. Ceci est un opérateur non et, dans ce test, vérifie si le fichier demandé n'est pas votre fichier de réécriture final, dans ce cas:

cgi-bin/new-disk.cgi/dir/smooth

Si cela est vrai, reportez-le au script de réécriture que vous avez indiqué dans la dernière ligne.

Le caractère $ 1 fait référence au premier groupe de capture, comme indiqué par le premier ensemble de parenthèses sur la même ligne.

Autres conseils

Pour une partie de votre réponse, je pense que vous pouvez vous en servir comme exemple pour vous baser .. espérons que vous utiliserez un domaine de test:

RewriteCond %{HTTP_HOST}   ^www\.example\.com [NC]
RewriteRule ^/(.*)         http://example.com/$1 [L,R=301]

Il faudra peut-être ajouter un (. *) et le rendre facultatif pour l'autre partie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top