需要帮助将Apache2重写规则转换为nginx

时间:2012-02-27 10:02:36

标签: apache mod-rewrite url-rewriting nginx

我已经成功转换了大部分内容,但我在这两个方面有点挣扎 -

RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,QSA,L]

RewriteRule !^(media/(.+)|favicon.ico|robots.txt|sitemap.xml|sitemap-main.xml)$ index.php

如果有人是nginx重写忍者,请欣赏一手:)

1 个答案:

答案 0 :(得分:6)

这:

RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,QSA,L]

将转换为:

rewrite ^/(.+)/$ http://$http_host/$1 permanent;

和此:

RewriteRule !^(media/(.+)|favicon.ico|robots.txt|sitemap.xml|sitemap-main.xml)$ index.php

将转换为:

rewrite /!^(media/(.+)|favicon.ico|robots.txt|sitemap.xml|sitemap-main.xml)$ /index.php;

你也可以使用:

if ($rule_0 = ""){
    rewrite ^/(.+)/$ http://$http_host/$1 permanent;
}
if ($rule_0 = ""){
    rewrite /!^(media/(.+)|favicon.ico|robots.txt|sitemap.xml|sitemap-main.xml)$ /index.php;
}

文档:http://wiki.nginx.org/HttpRewriteModule

来自:http://www.anilcetin.com/convert-apache-htaccess-to-nginx/