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!

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top