簡體   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