¿Cómo uso mod_rewrite para cambiar la ruta y el nombre de archivo de una URL?

StackOverflow https://stackoverflow.com/questions/105308

  •  01-07-2019
  •  | 
  •  

Pregunta

Quiero tomar la URL:http://www.midominio.com/signup-12345

Y de hecho dales:http://www.midominio.com/signup/?aff=12345

NO tengo historial con mod_rewrite, ¡AYUDA!

¿Fue útil?

Solución

Algo que me resultó relativamente difícil de descubrir fue cómo hacer lo contrario de lo que estás haciendo, es decir, debes averiguar el valor de parte de la cadena de consulta.

Así por ejemplo:

Si quisieras reescribir la URL:http://www.example.com/signup-viejo-guion.áspid?af=12345

a:http://www.example.com/signup-nuevo-guion.PHP?AfId=12345

podrías usar:

RewriteCond %{query_string}& ^aff=((.+&)|&)$   
RewriteRule ^/signup-old-script.asp$    /signup-new-script.php?affID=%2 [L,R]

Observe la % inicie sesión en la regla de reescritura en lugar de la $ firmar.

Tuve que hacer esto para poder admitir mapas flash antiguos en un sitio nuevo que tenía enlaces a archivos ".cfm" con un ID en la cadena de consulta.

Otros consejos

Prueba esto :

RewriteRule ^/signup-(\d+)/$ /signup/?aff=$1 [I]

Tan lejos como se,

El indicador hace que se ignore RewriteCond. - para "Ignorar caso" - desde IsapiRewrite versión 2

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top