/ / htaccess url rewrite help - apache, .htaccess, rewrite

htaccess url rewrite help - apache, .htaccess, rewrite

Tengo la siguiente URL de reescritura:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Rewrite all other URLs
RewriteRule ^(.*)$ index.php?page=$1 [PT,L]

Ahora quiero agregar una excepción, que si la URL es algo como mysite.com/abc debería ignorarla y todas las cosas dentro de ella también. mysite.com/abc/dfgs también debe ser excluido de esta reescritura.

¿Cómo puedo lograr esto?

Respuestas

2 para la respuesta № 1

Si / abc es un directorio existente, puede poner otro archivo .htaccess allí con

RewriteEngine Off

Si es realmente solo una cadena que no desea volver a escribir (exista o no)

RewriteCond %{REQUEST_URI} !^/abc

no se reescribirá si la ruta solicitada comienza con "/ abc"

Para probar las reglas de reescritura sin desordenar el sitiopara los navegadores normales (no es que debas estar editando en un entorno en vivo, por supuesto, esto es puramente hipotético :-)), he encontrado lo siguiente muy útil:

RewriteCond %{REMOTE_ADDR} 12.34.56.78 # <-- where that"s your IP address

0 para la respuesta № 2

Esto debería evitar volver a escribir si el URI contiene abc. Esto puede o no ser exactamente lo que quieres. Si no es t edita tu pregunta.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

#Rewrite ONLY if the REQUEST does NOT contain abc
RewriteCond %{REQUEST_URI} !abc

# Rewrite all other URLs
RewriteRule ^(.*)$ index.php?page=$1 [PT,L]