/ / restreindre l'entrée de l'URL GET sur htaccess réécrire l'URL - .htaccess

restreindre l'entrée de l'URL GET sur htaccess réécrire l'URL - .htaccess

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 № 1

Je 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]