Con respecto a la barra inclinada "/" cuando se da una expresión regular para RewriteRule o RewriteCond, o cualquier otra cosa relacionada a .htaccess en particular, hay una necesidad de escapar de la barra diagonal?¿Tienes que escapar de una barra inclinada cuando usas mod_rewrite?
Aquí es un ejemplo de lo que estoy tratando de lograr
RewriteEngine on
RewriteOptions inherit
RewriteBase /uk-m-directory/
RewriteRule ^(region|region\/|regions\/)$ regions [R=301,L]
RewriteRule ^(county|county\/|counties\/)$ counties [R=301,L]
RewriteRule ^(city|city\/|cities\/)$ cities [R=301,L]
Lo anterior funciona bien, y se sigue trabajando bien cuando quito las barras invertidas como se muestra a continuación
RewriteEngine on
RewriteOptions inherit
RewriteBase /uk-m-directory/
RewriteRule ^(region|region/|regions/)$ regions [R=301,L]
RewriteRule ^(county|county/|counties/)$ counties [R=301,L]
RewriteRule ^(city|city/|cities/)$ cities [R=301,L]
Cuál es la forma correcta? ¿Están ambos equivocados? ¿Hay alguna razón especial por la que la barra diagonal se escape o no debería?
Mi conjetura es que la barra diagonal no necesita ser escapado porque no es un carácter especial, por lo que yo sé. Pero solo quiero estar seguro.
En caso de que se esté preguntando el punto de este código, se redirige ciudad, condado, y la región (con o sin una barra inclinada) a sus equivalentes plural. Además, si el plural tiene una barra diagonal, elimina la barra diagonal.
Muchas gracias John por la respuesta rápida = D Una pregunta rápida de suministro John, si no le importa, en relación con su "?" comentario. Sé que tiene que ser escapado (el questionmark), pero ¿y si está en el lado derecho de la regla? Digamos por ejemplo "RewriteRule ^/([a-z0-9] +) $ /index.php?query=$1" ¿el cuestionario en el lado derecho (index.php?) Tiene que ser escapado? Sé que no tiene que ser así, pero ya sabes, solo asegúrate. – TrainTC
Corrija de nuevo. Solo en el lado izquierdo. –