0

私は、継承したサイトを提供する自家製の CMS を持っています。小さな URL を設定することはできましたが、nginx の書き換えルールにはあま​​り詳しくありません。構成の関連部分は次のとおりです。

*location / {
        index index.php index.html;
        root /var/www/www.valami.hu;
        try_files $uri $uri/ @seo;
    }
location @seo {
rewrite ^/([a-z]+)$ /index.php?oldal=$1 last;
break;
}*

問題は、サイトに blogspot.com にあるブログがあり、ブログの内容がそこから取得されることです。したがって、私が助けを必要としているのは、この種の URL のルールです。

http://www.valami.hu/index.php?oldal=blog&options=2012/01/some-title-here.html

したがって、次のように問題ありません。

http://www.valami.hu/blog/2012/01/some-title-here

最も重要なことは、最初のルールはより頻繁に使用されるため、機能する必要があることです。

4

2 に答える 2

0

/blogとnonの 2 つのケースしかないようです/blog。2 つのロケーション ブロックを記述します。

location ~ ^/blog/(.*) {
    try_files $uri /index.php?oldal=blog&options=$1;
}
location ~ /(.*) {
    try_files $uri /index.php?oldal=$1;
}

私は2 番目の場所でちょうど/andを使用していたでしょうが、それは . と については、もちろん可能であればロケーション ブロックではなくサーバー ブロックに移動した方がよいでしょう。$request_uri/olda1

index index.php index.html;root /var/www/www.valami.hu;

于 2013-05-13T23:12:24.810 に答える
0

これは実際には些細なことです。見て学ぶ!

 location / {
    try_files $uri $uri/ @site;
 }
 location @site {
    rewrite ^/blog/(.+)$ /index.php?oldal=blog&options=$1 last;
    rewrite ^(.+)$ /index.php?oldal=$1 last;
 }

順序がすべての違いを生みます。lastまた、フラグを削除/blogし、options クエリ文字列パラメーターを明示的に設定してリダイレクトすることによっても実行できます。いいえ、必要な場合はありません。

于 2013-05-11T20:06:30.490 に答える