Mon URL d'origine est: www.site.com/report.cgi?d=2012-05
URL demandée: www.site.com/report-2012-05.cgi
Mon code Htaccess: *
RewriteRule ^report([^/]*).cgi$ /report.php?d=$1 [L]
Je veux limiter le paramètre de requête à seulement XXXX-XX number format
dans GET url.
Comment puis-je faire ceci ?
Réponses:
1 pour la réponse № 1Je n'ai pas vraiment compris votre question, sauf que vous voulez modifier le format de l'URL en plaçant la valeur du paramètre dans une position différente.
La meilleure façon de le faire est de capturer la chaîne de requête comme ceci:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} d=(.*)
La valeur entre parenthèses est la valeur du paramètre (2012-05), qui peut être référencée avec% 1. Par exemple:
RewriteRule .* report-%1.cgi [L]
Réécrira l'URL avec /report-2012-05.cgi
J'espère que cela t'aides.
0 pour la réponse № 2
Je pense que vous devez enlever .cgi
de votre règle de réécriture
Pour www.site.com/report-xxxx-xx
RewriteRule ^report-([^/]*)$ /report.cgi?d=$1 [L]<br>
Pour www.site.com/xxxx-xx
RewriteEngine On
RewriteRule ^([^/]*)$ /report.cgi?d=$1 [L]