rewriterule rewritecond redirectmatch htaccess examples domain apache mod-rewrite

rewritecond - Apache RewriteRule,-(guión) como sustitución



rewritecond apache (2)

Sé que esto es un poco viejo, pero básicamente dice "Oye, me gustaría usar Rewrite, pero para las URL que coincidan con el RewriteCond (s) anterior, déjalo en paz y detente".

EX:

# If file or directory exists, we wanna send them there RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule .* - [L] # Otherwise, use our smart page handler! RewriteRule ^(.*)/.php$ virtualPage.php?page=$1 [L]

A menudo veo en las aplicaciones de PHP MVC una Regla de Reescritura de Apache que se ve así:

RewriteRule ^.*$ - [NC,L]

Los documentos en Apache dicen:

Un guión indica que no se debe realizar ninguna sustitución (la ruta existente se pasa sin tocar). Se utiliza cuando se debe aplicar una bandera (ver más abajo) sin cambiar la ruta.

Entonces, de lo que recojo, puede usar esto para transformar una ruta usando una bandera, es decir, [NC] para que las RewriteRules sigan.

¿Podría alguien explicar este guión RewriteRule un poco mejor?


Vea esta respuesta:

mod_rewrite: ¿qué hace esta RewriteRule?

Básicamente significa "no hacer nada si los RewriteConds anteriores coinciden". La siguiente RewriteRule (s) hará otra cosa cuando los RewriteConds no coincidan. En el caso de la publicación a la que te vinculé, la siguiente RewriteRule reescribe la URL incluyendo "index.php".