ロケーションブロックのドキュメントをある程度読んだことがありますが、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 を介してボトル アプリによって提供されているため、この場所にあるすべてのものはボトル アプリにルーティングされ、そこで処理される必要があります。これは期待どおりに機能していますが、ロケーションルールに「例外」を追加して、そのexample.com/blog
下にあるすべてのもの../sub1/sub2
などがボトルアプリに向けられないようにする方法がわかりませんが、実際にはワードプレスとその PHP マジックによって処理されます。
これはセットアップが非常に簡単なように思えますが、この種の問題に対する簡単な解決策をグーグルで検索するのは非常に難しいことが証明されています.