Rewriting URL with selected query string parameters in .htaccess

后端 未结 3 1460
无人及你
无人及你 2020-12-17 23:21

I recently changed my CMS, and want to rewrite some of my URLs to match the new URL/query string parameter format.

The old URL was:

http://www.mysite         


        
3条回答
  •  清酒与你
    2020-12-17 23:32

    You can try to use regular expression and grouping, if your server supports that. If I am not mistaken you have to rewrite only one parameter, I guess you could try something like (if you are using apache with mod_rewrite):

    RewriteCond %{QUERY_STRING} ^.*(\btag\b=(\w+|&\w+;)+)
    RewriteRule ^(.+) /$1?%1 [L]
    

    Edit: I improved the regular expression a little bit to match "tag" regardless of its position in the query string and to preserve special characters sequences such as & In addition it should avoid matches with similar parameters (i.e.: it wouldn't match a parameter called "alttag").

    Edit #2: An alternative (especially if you have to filter several parameters) is to use an external program to do the rewrite. This page: http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritemap (in particular the section "External rewriting program") contains useful information.

提交回复
热议问题