2010-07-30 3 views
5

J'essaye de créer un fichier htaccess pour rediriger tout mon site sauf quelques exceptions, mais je n'arrive pas à le faire fonctionner. Je dois rediriger le tout, fournir une redirection spécifique et exclure deux pages. Voici mon exemple non-travail. Merci!htaccess 301 rediriger tout le site mais avec des exceptions

RewriteCond %{REQUEST_URI} !^/events/index.html 
RewriteCond %{REQUEST_URI} !^/calendar/index.html 
Redirect 301 /info/faq.html http://mynewsite.com/my-page 
Redirect 301/http://mynewsite.com 

Répondre

14

Vous essayez de mélanger mod_rewrite avec mod_alias, mais les déclarations RewriteCond ne peut pas conditionner les Redirect déclarations, car ils ne viennent pas du même module.

Je crois que vous voulez quelque chose de plus comme ça, si je comprends bien ce que vous essayez d'accomplir:

RewriteEngine On 

RewriteCond %{REQUEST_URI} !=/events/index.html 
RewriteCond %{REQUEST_URI} !=/calendar/index.html 
RewriteCond %{REQUEST_URI} !=/info/faq.html 
RewriteRule ^.*$ http://mynewsite.com/$0 [R=301,L] 

Redirect 301 /info/faq.html http://mynewsite.com/my-page 
+0

Je suis en train d'accomplir une variation de - je veux tout rediriger, à moins que la demande est à un répertoire spécifique (peut-être différents types de fichiers) - mais cela ne fonctionne pas: [code] RewriteEngine On RewriteCond% {REQUEST_URI}! =/sites/default/files/imports RewriteRule ^. * $ http://mynewsite.com/$0 [R = 301 , L] Redirection 301/http://mynewsite.com/ [/ code] –

+1

Essayez '% {REQUEST_URI}! ^/Sites/default/files/imports', car'! = 'Fonctionne uniquement avec exact comparaisons de chaînes. –

3

J'ai eu un problème similaire. Essayer de rediriger un domaine entier à l'exception de son fichier robots.txt. La réponse de Tim ne fonctionne pas pour moi, mais cela ne

RewriteEngine On 
RewriteRule robots.txt - [L] 
RewriteRule ^.*$ http://www.newsite.com/$0 [R=301,L]