nginx 1.4.1 に次の構成を使用しています。
サーバー { 聞く 8000; server_name correct.name.gr; 場所/テスト/登録{ proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1; } }
私がやりたいことは、ユーザーhttp://correct.name.gr:8000/test/register/
がポート 80 で実行される apache にプロキシする必要があることを確認したときです。
訪問するhttp://correct.name.gr:8000/test/register/
と、正しい結果が得られます (index.php)。訪問するhttp://correct.name.gr:8000/test/register/asd
と、正しい結果が得られます(Apacheから404)。訪問するhttp://correct.name.gr:8000/test/asd
と、正しい結果が得られます(nginxの404)。訪問するhttp://correct.name.gr:8000/test/register123
と、正しい結果が得られます(Apacheから404)。
問題は、私が訪問したときですhttp://correct.name.gr:8000/test/register
。301 応答を受け取り、リダイレクトされますhttp://localhost/test/register/
(末尾のスラッシュと、もちろん「localhost」に注意してください)!!!
末尾のスラッシュなどを配置するためにnginxに他の構成を行っていません。何が問題か知っていますか?私はApacheにプロキシすることで正しく動作したいですhttp://correct.name.gr:8000/test/register
(または、少なくともユーザーのローカルホストへのリダイレクトではなく、少なくとも404エラーを発行することができない場合)。
更新 1 :http://correct.name.gr:8000/test/register
昨日問題が発生したコンピューターとは別のコンピューターから試してみましたhttp://correct.name.gr:8000/test/register/
。1 台のコンピューターで作業できるのに、もう 1 台のコンピューターではできない (両方のコンピューターで同じブラウザー Chrome を使用している) のはどうしてですか? 明日もう一度試して、3 番目のものからテストして動作を確認します。
ありがとうございました !