Come uso mod_rewrite per modificare il percorso e il nome file di un URL
-
01-07-2019 - |
Domanda
Voglio prendere l'URL: http://www.mydomain.com/signup-12345
E in realtà date loro: http://www.mydomain.com/signup/?aff=12345
Non ho alcuna storia con mod_rewrite, HELP!
Soluzione
Qualcosa che ho trovato relativamente difficile da scoprire era come fare il contrario di quello che stai facendo, per cui è necessario scoprire il valore di parte della stringa di query.
Quindi, per esempio:
Se si desidera riscrivere l'URL: http://www.example.com/signup- vecchio - script. asp ? aff = 12345
a: http://www.example.com/signup- nuovo - script. php ? affID = 12345
puoi usare:
RewriteCond %{query_string}& ^aff=((.+&)|&)$
RewriteRule ^/signup-old-script.asp$ /signup-new-script.php?affID=%2 [L,R]
Nota il segno % nella regola di riscrittura invece del segno $ .
Ho dovuto farlo per poter supportare vecchie mappe flash in un nuovo sito che aveva collegamenti a " .cfm " file con un ID nella stringa di query.
Altri suggerimenti
Prova questo:
RewriteRule ^ / signup - (\ d +) / $ / signup /? aff = $ 1 [I]
Per quanto ne so,
flag fa sì che RewriteCond venga ignorato. - per " Ignora caso " - da IsapiRewrite
versione 2