¿Cómo hacer una excepción de regla de reescritura de URL?

0

Tengo un montón de reglas de reescritura para redirigir las visitas de domainX a domainY, sin embargo, ahora quiero mostrar una index.htmlpágina cuando la gente visita domainX, pero todavía quiero que se apliquen todas las demás reglas de reescritura.

Leí en stackoverflow que puedo agregar algo como esto en la parte superior:

RewriteRule  ^index.html  -  [L]

Sin embargo no está funcionando. No estoy seguro de por qué. ¿Alguna sugerencia?

NOTA: El archivo de configuración de reescritura actual está disponible aquí .

Max Hodges
fuente
2
Sería útil si pudiera publicar sus reglas de reescritura actuales. Probablemente esto se resuelva mejor con un RewriteCond, pero es difícil decir qué se ajusta mejor a su configuración si no sabemos cómo se ve actualmente.
Jenny D
Tengo un montón de reglas. > 650 líneas (redirigir todo tipo de productos de la tienda qué importa lo que viene después de esto, si esto es en la parte superior no se debe trabajar voy a publicar unos pocos, pero los moderadores de preocupación me va a prohibir por tratar de hacer publicidad.??.
Max Hodges

Respuestas:

2

Esta sería mi solución:

RewriteCond %{HTTP_HOST} ^(.*)whiterabbitpress.com$ [NC]
RewriteCond %{REQUEST_URI} !^/index.html$ [NC]
RewriteRule ^new-arrivals.html$ http://shop.whiterabbitjapan.com/japanese-language/new-arrivals.html [L,R=301]
[...]

Esto significa que todas las siguientes reglas solo se utilizarán cuando el nombre de host sea * .whiterabbitpress.com y la ruta no sea /index.html.

Felicitaciones por publicar la configuración real en lugar de mezclarla, ¡realmente hace que sea mucho más fácil ayudar!

Jenny D
fuente
¿Necesito insertar esa condición sobre /index.html antes de cada RewriteCond en mi script? Hay muchos de ellos más abajo. ver aquí pastebin.com/mA8qNW8t
Max Hodges
Solo necesitaría eso donde haya un RewriteCond que de otro modo coincidiría, por lo que de un vistazo rápido no veo que sea necesario, ya que generalmente no se utiliza una cadena de consulta para index.html.
Jenny D
zumbido pero no está funcionando D:
Max Hodges
1
Te sugiero que habilites rewritelog. Su sugerencia original normalmente debería funcionar. Debe averiguar por qué no se aplica. ¿Estas reescrituras están en un archivo .htaccess o en httpd.conf (o un archivo incluido)?
Krist van Besien
1
por cierto, observando sus reglas, probablemente podrían ser masivamente simples utilizando un mapa de reescritura ...
Krist van Besien