2016-04-24 16 views
1

私はロケーションブロックのドキュメントを適度に読んだことがありますが、RegExの経験はあまりありませんので、私がやろうとしていることをやり遂げる方法が少し失われています。NGINX:サブディレクトリの場所を上書きするメインロケーションブロック?

server { 
     server_name example.com www.example.com; 
     root /var/www/; 
     index index.php; 


     location /blog/ { 
       try_files $uri $uri/ /index.php?$args; 
     } 

     location ~ \.php$ { 
       try_files $uri =404; 
       include fastcgi_params; 
       fastcgi_pass unix:/var/run/php5-fpm.sock; 
     } 

     location/{ 
       try_files $uri @uwsgi; 
     } 

     location @uwsgi { 
       include uwsgi_params; 
       uwsgi_pass unix:/tmp/uwsgi.sock; 
     } 


} 

example.com/がuwsgiを通じてボトルアプリによって提供されており、この場所の下のため、すべての物事がボトルにルーティングする必要があります。以下のnginxの設定はおそらく、私は私ができるよりももっと良い言葉、それを何をしたいのかを説明しますアプリを見つけてそこで処理しましたこれは期待どおりにうまくいきますが、私はどのようにexample.com/blogとその下のすべての../sub1/sub2などは、ボトルのアプリケーションに指示されていないinfactはwordpressとそのPHPで処理される場所のルールに '例外'を追加する方法に失われていますマジック。

これは設定が非常に簡単であるようですが、誰もがこのチュートリアルの設定を膨らませるように見えるので、Googleのシンプルなソリューションは非常に困難です。初心者。

答えて

2

これは、いくつかの調整を必要とするかもしれませんが、あなたはおそらく、ネストされた場所のブロックを使用する必要がありますデフォルトURIはWordPressのファイルのすべてが置かれている場所、できればある/blog/index.phpに変更されていることを

server { 
    server_name example.com www.example.com; 
    root /var/www; 
    index index.php; 

    location /blog/ { 
     try_files $uri $uri/ /blog/index.php?$args; 

     location ~ \.php$ { 
      try_files $uri =404; 
      include fastcgi_params; 
      fastcgi_pass unix:/var/run/php5-fpm.sock; 
     } 
    } 

    location/{ 
     try_files $uri @uwsgi; 
    } 

    location @uwsgi { 
     include uwsgi_params; 
     uwsgi_pass unix:/tmp/uwsgi.sock; 
    } 
} 

はお知らせ。

+0

誤って構成されたWordPressのインストールに別の問題があることが判明しましたが、これは問題なく解決しました。 WordPressのファイルをサブディレクトリに移動しましたが、再インストールする必要があるようです。しかし、この修正がなければ、正常に動作しませんでした。 –

関連する問題