Comment utiliser mod_rewrite pour changer le chemin d'accès et le nom de fichier d'une URL
-
01-07-2019 - |
Question
Je veux prendre l'URL: http://www.mydomain.com/signup-12345
Et réellement leur donner: http://www.mydomain.com/signup/?aff=12345
Je n'ai AUCUN historique avec mod_rewrite, HELP!
La solution
J'ai trouvé qu'il était relativement difficile de savoir comment faire l'inverse de ce que vous faites, dans lequel vous devez rechercher la valeur d'une partie de la chaîne de requête.
Ainsi, par exemple:
Si vous souhaitez réécrire l'URL: http://www.example.com/signup- old - script. asp ? aff = 12345
à: http://www.example.com/signup- nouveau - script. php ? affID = 12345
vous pouvez utiliser:
RewriteCond %{query_string}& ^aff=((.+&)|&)$
RewriteRule ^/signup-old-script.asp$ /signup-new-script.php?affID=%2 [L,R]
Notez le signe % dans la règle de réécriture au lieu du signe $ .
Je devais le faire pour pouvoir utiliser les anciennes cartes Flash sur un nouveau site contenant des liens vers ".cfm". fichiers avec un identifiant dans la chaîne de requête.
Autres conseils
Essayez ceci:
RewriteRule ^ / signup - (\ d +) / $ / signup /? aff = $ 1 [I]
Pour autant que je sache,
avec cet indicateur, le RewriteCond est ignoré. - pour "Ignorer la casse" - de IsapiRewrite
version 2