繁体   English   中英

我应该如何使用htaccess重写规则到nginx重写规则的转换输出

[英]how should I use output of conversion of htaccess rewrite rules to nginx rewrite rules

我使用neginx,然后需要将htaccess重写规则转换为neginx重写规则。 我用来转换。 现在我想知道如何使用输出?

的.htaccess:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]

ErrorDocument 404 /error404.html

nginx规则:( 输出)

if (!-f $request_filename){
    set $rule_0 1$rule_0;
}
if (!-d $request_filename){
    set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
    rewrite ^/(.*)$ /index.php?rt=$1 last;
}

我应该如何使用输出?

请注意,我在不同的文件夹中有多个.htaccess (在3个不同的文件夹中有3个.htaccess文件)

在nginx中,没有诸如htaccess文件之类的东西。 您所有的nginx规则都需要直接进入nginx配置文件。

请参阅: http : //nginx.org/en/docs/beginners_guide.html#conf_structure

因为htaccess文件位于不同的文件夹中,所以您需要做的是将规则包装在location块中。

因此,例如,如果您发布的规则是从“博客”文件夹中的htaccess文件转换而来的,则可以这样做:

location /blogs/ {

    if (!-f $request_filename){
        set $rule_0 1$rule_0;
    }
    if (!-d $request_filename){
        set $rule_0 2$rule_0;
    }
    if ($rule_0 = "21"){
        rewrite ^/(.*)$ /index.php?rt=$1 last;
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM