0

次の .htaccess ルールを変換しようとしました

RewriteCond %{HTTP_HOST} ^www\.domain\.com$
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} ^([^.]+\.[^.]+|[^.]+)\.domain\.com$ [NC]
RewriteRule ^(.*)$ /index.php?type=%1&b=$1&%{QUERY_STRING}  [L]

nginx .htaccess コンバーターを使用すると、次のようになります。

if ($http_host ~ "^www\.domain\.com$"){
    set $rule_0 1;
}

if ($rule_0 = "1"){
    rewrite ^/(.*)$ http://domain.bg/$1 permanent;
}

if (!-f $request_filename){
    set $rule_1 1$rule_1;
}

if ($http_host ~* "^([^.]+\.[^.]+|[^.]+)\.domain\.com$"){
    set $rule_1 2$rule_1;
    set $bref_1_0 $1;
}

if ($rule_1 = "21"){
    rewrite ^/(.*)$ /index.php?type=${bref_1_0}&b=$1&$args last;
}

しかし、それは機能していません。誰でも助けてもらえますか?

4

1 に答える 1

0

これらのジェネレーターが奇妙で長く理解できないものを生成する方法が大好きです。最初の部分は、www から非 www へのリダイレクトです。これは簡単です。

server {
    server_name www.example.com;
    return 301 example.com;
}

この部分についてはよくわかりませんが、試してみてください

server {
    server_name ~^(?<subs>[^.]+(?:\.[^.]+)?)\.example\.com;
    rewrite ^ /index.php?type=%1&b=$subs&$args last;
}

それがうまくいくことを願っています

于 2013-10-08T18:39:15.880 に答える