我试图将htaccess规则重写为nginx规则。 此规则用于加载机器人的php页面(如谷歌机器人)。
这里是我的htaccess:
RewriteCond %{HTTP_HOST} ^localhost$ [NC]
RewriteCond %{REQUEST_URI} ^/faq/$
RewriteCond %{QUERY_STRING} ^(.*)_escaped_fragment_=(.*)$
RewriteRule ^(.*)$ /files/snapshot_loader.php?snapshot_page=%1%2 [L]
你可以帮帮我吗?我尝试这个,但重定向永远不会工作....
location /faq {
if ($query_string ~ "^(.*)test(.*)$"){
RewriteRule ^(.*)$ http://www.google.com permanent
}
}
提前致谢
答案 0 :(得分:0)
首先,nginx中没有$query_string
变量。第二件事是nginx中没有RewriteRule
指令。
在nginx中,查询字符串存储在$args
中,您需要rewrite
指令:
尝试类似:
location /faq {
if ($http_host ~* "^localhost$") {
if($args ~* "^(.*)_escaped_fragment_=(.*)$") {
set $newargs $1$2
set $args '';
rewrite ^ /files/snapshot_loader.php?snapshot_page=$newargs
}
}
}