mod_rewrite规则从URL中删除m = 1的字符串而不管它的位置如何?

时间:2015-06-09 19:25:13

标签: regex apache .htaccess mod-rewrite

如何创建可以更改此内容的mod_rewrite规则:

exampledomain/blog/2013/10/?view=flipcard&m=1&_escaped_fragment_=

对此:

exampledomain/blog/2013/10/

而且:

exampledomain/blog/review-of-items/?view=timeslide&m=1

对此:

exampledomain/blog/review-of-items/

基本上检查m=1的最终字符串,并且只删除最后一个字符串而不管事先的斜线数量是多少?

请注意我们不会像其他一些问题那样丢弃m = 1,我们想摆脱整个字符串,即 ?view=flipcard&m=1&_escaped_fragment_= 要么 ?view=timeslide&m=1

1 个答案:

答案 0 :(得分:1)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On

RewriteCond %{QUERY_STRING} (^|&)m=1(&|$) [NC]
RewriteRule ^ %{REQUEST_URI}? [L,R=302]

(^|&)m=1(&|$)正则表达式是为了确保m=1匹配查询字符串中的任何位置。