私のnginx設定はserver_name_を使用します。単一のサーバー{}ブロック内のすべてのドメインを処理し、ドメインルーティングを分類する単一のindex.phpを使用して、単一のフォルダーにある同じコードベースにすべてを送信します。(これは、Webフレームワークが単一のクラスター内の数百のドメインで機能する方法です。これを変更することはできません)。
サイトの1つには2つのドメインがあります。言語ごとに1つ、example.comとexample.netと呼びましょう。このサイトには言語固有のサブフォルダーもあります。それらを/ com /および/ net /と呼びましょう。
言語サブフォルダーが一致するドメインにのみ読み込まれるようにするリダイレクトを作成する必要があります。
例:有効なリクエスト:
example.com/com/
example.net/net/
その他のリクエストは、サブフォルダに基づいてリダイレクトする必要があります。
example.com/net /-> example.net/net/
example.net/com /-> example.com/com/
フォルダにはすべての静的ファイルが含まれているため、フレームワークでは実行できません。そのため、ルーターが読み込まれることはありません。これはnginx構成で実行できますか?
ありがとうございました
更新、私の設定の簡略化されたバージョンを追加します:
server {
listen 80 default_server;
server_name _;
root /my/app/root;
index index.php index.html;
location / {
try_files $uri /index.php;
}
#PHP
location ~ \.php$ {
try_files $uri = 404;
[fastcgi stuff]
}
location = /favicon.ico {
access_log off;
log_not_found off;
}
location = /apple-touch-icon.png {
access_log off; log_not_found off;
}
location = /apple-touch-icon-precomposed.png {
access_log off;
log_not_found off;
}
}
解決しました...
location /com/ {
if ($host = 'www.example.net') {
return 301 https://www.example.com$request_uri;
}
index index.html;
}
そして、他の場所/ドメインの逆
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加