2010-07-30 29 views
5

Estoy tratando de crear un archivo htaccess para redirigir todo el sitio, excepto con algunas excepciones, pero no puedo hacerlo funcionar. Necesito redirigir todo, proporcionar una redirección específica y excluir dos páginas. A continuación está mi muestra que no funciona. ¡Gracias!htaccess 301 redirigir todo el sitio, pero con excepciones

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 

Respuesta

14

Usted está tratando de mezclar con mod_rewritemod_alias, pero los RewriteCond declaraciones no puede condicionar las declaraciones Redirect, ya que no provienen de un mismo módulo.

Creo que usted quiere algo de la misma familia, si he entendido bien lo que estaba tratando de lograr:

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

que estoy tratando de lograr una variación de este - Quiero redirigir todo, a menos que la solicitud se encuentra en un directorio específico (podría ser varios tipos de archivo) - pero no está funcionando: [código] RewriteEngine En RewriteCond% {REQUEST_URI}! =/sites/default/files/imports RewriteRule ^. * $ http://mynewsite.com/$0 [R = 301 , L] Redirigir 301/http://mynewsite.com/ [/ code] –

+1

Pruebe '% {REQUEST_URI}! ^/Sites/default/files/imports', ya que'! = 'Solo funciona con exact comparaciones de cuerdas. –

3

tuve un problema similar. Intentando redirigir un dominio completo con la excepción de su archivo robots.txt. La respuesta de Tim no funciona para mí, pero esto hizo

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