我在wordpress中的htaccess代码块工作正常,但我不知道它的语法,但我无法理解语法。
RewriteCond %{QUERY_STRING} "mobileSite=" [NC]
RewriteRule (.*) /$1? [R=301,L]
例如,网址如下
www.example.com/?mobileSite=1
将被重定向到
www.example.com
代码工作正常,但我无法理解实际的语法部分。例如(.*) /$1? [R=301,L]
做了什么?
mobileSite
之后的数字是介于0和1之间的变量,但尽管代码实际有效,它仍未包含在RewriteCond %{QUERY_STRING} "mobileSite=" [NC]
中。
请向我解释语法?
由于
答案 0 :(得分:1)
如果您只想在查询参数中匹配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