と一致した場合にのみ、私はすべてのサーバーのブロックのようにキャッチを持っているサーバブロックを使用します。nginxのは:場所は
server {
listen 80 default_server;
server_name _;
location /blog{
# pass request to ghost
}
location /{
# pass request to custom node app
}
}
それは要求されたドメイン、プロトコル、およびパス、および問題点を検証し、カスタム・ノードのアプリに渡します。必要に応じて単一の301リダイレクト。 SEOの目的で、301リダイレクトを最小限に抑えるためにこれを行います。
また、私の幽霊ブログはhttps://www.exmaple.com/blogでのみ提供する必要があります。独自ドメインへのリクエストがリダイレクトされますなるように
server {
listen 80;
server_name example.com;
location /blog {
return 301 https://www.example.com$request_uri;
}
}
:私は、次のブロックを追加しました。しかし、example.comへのリクエストはデフォルトのNginx index.htmlページを返します。それをどうやって防ぐのですか? if
を使用しないでください。あなたは裸のドメインサーバブロックでキャッチオールを持っている必要があり
へのルートがように、2つの異なる/ブログの場所は、あなたがリダイレクトしているがありますか?なぜあなたのexample.comサーバーブロックにキャッチオールロケーションを追加しないのですか? –
私のカスタムノードのアプリケーションに行くには、まだ裸のドメインのすべての非/ブログリクエストが必要です。問題は、2番目のサーバーブロックで起こっていることを防ぐことです。 –