で最後のスラッシュ私はnginxの1.4.1のために以下の構成を使用しています:nginxのプロキシパス
server { listen 8000; server_name correct.name.gr; location /test/register { 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/
をビストするとき、彼らは上で実行さapacheのにプロキシされなければならないですポート80.
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には、末尾にスラッシュなどを付けるような設定はありません。あなたは何が問題なのか知っていますか?私はhttp://correct.name.gr:8000/test/register
がApacheにプロキシすることで正しく動作するようにしたい(または、少なくとも404エラーを出すことはできないが、ユーザのlocalhostへのリダイレクトはできない)。
アップデート1:私はちょうど正しいhttp://correct.name.gr:8000/test/register/
に私を指摘し301応答を得た:私はまあ、それは働いていた..私は昨日の悪い行動を持っていたとものとは別のコンピュータからhttp://correct.name.gr:8000/test/register
を試してみました!あるコンピュータからはできますが、他のコンピュータからはできません(私は同じブラウザを使用していますが、両方のコンピュータでChromeを使用しています)。私は明日、もう一度試して3番目のテストから試して、その動作を見てみましょう。
ありがとうございました!
ありません、私はそれで遊んでみてくださいませんでした...私は明日になる - しかしPLS – Serafeim
ちょうど任意のブラウザのキャッシュの副作用を回避するために、更新を見て、私はむしろ、これらのリダイレクトをテストすることをお勧めします"curl -IL http://correct.name.gr:8000/test/register" – vreen
はい、非常に良いコメント...カールFTW! – Serafeim