プライマリドメインをサブフォルダのあるURLにリダイレクトする(nginx)

プライマリドメインをサブフォルダのあるURLにリダイレクトする(nginx)

現在、私たちのnginxは非常によく戻っています。特定の書き換えが必要ですが、うまく機能しないようです。

私たちは以下が欲しいhttps://www.domain.com/にリダイレクトされるhttps://www.domain.com/xxx/。ただし、リダイレクトは、スラッシュの後に何もない場合(または可能であれば末尾のスラッシュがない場合)にのみ機能する必要があります。

私は次のことを試しました

rewrite ^ https://www.domain.com/xxx/ permanent; 

しかし、あまりにも多くのリダイレクトが発生します。

ベストアンサー1

あなたの声明で一致する正規表現は次のとおりですrewrite ^ https://www.domain.com/xxx/ permanent;^どのURI。非常に具体的な文字列だけを一致させたいので、開始アンカーと終了アンカーを指定する必要があります。

たとえば、

rewrite ^/$ /xxx/ permanent;

正規表現は^/$ウェブサイトのルートURIと一致します。すべてのNginx URIにはリーダーがあり、/ルートURIにはリーダーが含まれています/(一部のブラウザがアドレスバーからそれを非表示にすることを選択した場合も同様です)。

スキームやホスト名が変更されていない場合は、それを指定する必要はありません。バラよりこのファイルもっと学ぶ。


あるいは、location = /ステートメントは単一のURIにも一致します。たとえば、

location = / {
    return 301 /xxx/;
}

バラよりこのファイルもっと学ぶ。

おすすめ記事