Mój oryginalny adres URL to: www.site.com/report.cgi?d=2012-05
Żądany adres URL: www.site.com/report-2012-05.cgi
Mój kod dostępu: *
RewriteRule ^report([^/]*).cgi$ /report.php?d=$1 [L]
Chcę ograniczyć parametr żądania do just XXXX-XX number format
w adresie URL GET.
Jak mogę to zrobić ?
Odpowiedzi:
1 dla odpowiedzi № 1Naprawdę nie rozumiem twojego pytania, z wyjątkiem tego, że chcesz zmodyfikować format adresu URL, umieszczając wartość parametru w innej pozycji.
Najlepszym sposobem na zrobienie tego jest przechwycenie ciągu zapytania w następujący sposób:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} d=(.*)
Wartość wewnątrz nawiasów okrągłych to wartość parametru (2012-05), do której można powrócić z% 1. Na przykład:
RewriteRule .* report-%1.cgi [L]
Napisze adres URL za pomocą /report-2012-05.cgi
Mam nadzieję że to pomoże.
0 dla odpowiedzi nr 2
Myślę, że musisz usunąć .cgi
z reguły przepisywania
Dla www.site.com/report-xxxx-xx
RewriteRule ^report-([^/]*)$ /report.cgi?d=$1 [L]<br>
Dla www.site.com/xxxx-xx
RewriteEngine On
RewriteRule ^([^/]*)$ /report.cgi?d=$1 [L]