Root
Root

Reputation: 2349

restricting input of GET url on htaccess rewrite url

My original url is : www.site.com/report.cgi?d=2012-05

Requested URL: www.site.com/report-2012-05.cgi

My Htaccess Code:*

RewriteRule ^report([^/]*)\.cgi$ /report.php?d=$1 [L]

I want to restrict the request parameter to just XXXX-XX number format in GET url.
How can I do this ?

Upvotes: 0

Views: 74

Answers (2)

Felipe Alameda A
Felipe Alameda A

Reputation: 11799

I didn't really understand your question, except you want to modify the URL format placing the parameter value in a different position.

The best way to do it is by capturing the query string like this:

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} d=(.*)

The value inside the round brackets is the parameter value (2012-05), which can be back referenced with %1. For example:

RewriteRule .*  report-%1.cgi [L]

Will rewrite the URL with /report-2012-05.cgi

Hope this helps.

Upvotes: 1

guri
guri

Reputation: 684

I think you need to remove .cgi from your rewrite rule

For www.site.com/report-xxxx-xx

RewriteRule ^report-([^/]*)$ /report.cgi?d=$1 [L]<br>

For www.site.com/xxxx-xx

RewriteEngine On
RewriteRule ^([^/]*)$ /report.cgi?d=$1 [L]

Upvotes: 0

Related Questions