[英]htaccess rewrite rule for query string redirect?
我在 wordpress 中的 htaccess 代码块工作正常,但尽管知道它的作用,但我无法理解语法。
RewriteCond %{QUERY_STRING} "mobileSite=" [NC] RewriteRule (.*) /$1? [R=301,L]
例如一个网址如下
www.example.com/?mobileSite=1
将被重定向到
www.example.com
代码工作正常,但我无法理解实际的语法部分。 例如, (.*) /$1? [R=301,L]
(.*) /$1? [R=301,L]
怎么办?
mobileSite
之后的mobileSite
是一个介于 0 和 1 之间的变量,但它不包含在RewriteCond %{QUERY_STRING} "mobileSite=" [NC]
尽管代码实际有效。
请向我解释语法?
谢谢
如果您只想匹配查询参数中的0
或1
,请使用:
RewriteCond %{QUERY_STRING} ^mobileSite=[01]$ [NC]
RewriteRule (.*) /$1? [R=301,L]
RewriteRule
分解:
(.*) # match anything in URI and group it in captured group #1
/$1 # $1 is back-reference of captured value in (.*)
R=301 # redirect with status 301
L # Last rule
? # ? in the end is for stripping any previous query string
RewriteCond
分解:
%{QUERY_STRING} # match from query string
^ # start
mobileSite=[01] # match mobileSite=0 or mobileSite=1
$ # end
[NC] # flag for ignore case
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.