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

我已经设法转换了大部分,但我在这两个方面有点挣扎 – RewriteRule ^(.+)/$http://%{HTTP_HOST}/$1 [R=301,QSA,L]RewriteRule !^(media/(.+)|favicon.ico|robots.txt|sitemap.xml|sitemap-main.xml)$index.php如果有...

我已经设法转换了大部分,但我在这两个方面有点挣扎 –

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

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

如果有人是一个nginx重写忍者会很感激的手:)

解决方法:

这个:

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/

本文标题为:需要帮助将Apache2重写规则转换为nginx

基础教程推荐