2009-10-05 15 views
6

Tengo un .htaccess en mi raíz del sitio web que se ve así:¿Cómo puedo desactivar RewriteRule para una subcategoría?

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^www\.mydomain\.pl [NC] 
RewriteCond %{HTTP_HOST} ^(?:www\.)?([a-z0-9_-]+)\.mydomain\.pl [NC] 
RewriteRule ^/?$ /index.php?run=places/%1 [L,QSA] 

RewriteCond %{REQUEST_URI} !^/index.php$ 
RewriteCond %{REQUEST_URI} !^/images/ 
RewriteCond %{REQUEST_URI} !^/upload/ 
RewriteCond %{REQUEST_URI} !^/javascript/ 
RewriteRule ^(.*)$ /index.php?runit=$1 [L,QSA] 

Pero cuando escribo:

mydomain.pl/guests

me gustaría ir normalmente a los huéspedes reales de la carpeta. Entiendo que necesito de alguna manera deshabilitar esta regla para la subcarpeta de invitados, pero ¿cómo hago esto?

EDIT:

He incluido archivo .htaccess toda

+0

+1 Esta es una pregunta perfectamente válida. – roosteronacid

Respuesta

14

He puesto un .htaccess en la subcarpeta y ha añadido RewriteEngine apagado y funciona.

+0

Esto no funcionará, si la reescritura ocurre en la carpeta anterior. –

+0

No es una buena solución. Si la subcarpeta contiene una aplicación externa que utiliza un .htaccess y la sobrescribe en cada actualización, debe modificarla cada vez. – StanE

+1

Hay una solución sin RewriteCond: http://stackoverflow.com/a/1848579/1854856 – StanE

0

Añadir uno de estos

RewriteEngine On 

#If the request starts with guests, then pass it through 
RewriteCond %{REQUEST_URI} ^guests 
RewriteRule^- [L,QSA] 

#Or, if the request contains an existing filename or directory, pass it through 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L,QSA] 
+0

¿Debo reiniciar el servidor? Lo hice y no está funcionando. –

+0

Depende de dónde se colocan las reglas. ¿Es htaccess o los archivos de configuración principal? Además, ¿son esas todas tus reglas? –

+0

@Vinko - Gracias por responder He incluido todo mi archivo htaccess. ¿Cómo cambiarlo para que funcione? –

Cuestiones relacionadas