Htaccess统治到nginx

时间:2015-10-01 12:35:27

标签: apache .htaccess nginx

我试图将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
        }
    }

提前致谢

1 个答案:

答案 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
    }
  }
}