質問: 表題のとおりですが、例えば、 /hoge/fuga/abc.html にアクセスされたら、アドレスバーに表示されるURLは変えずに内部的には /xxx/yyy/abc.html のページを表示させたいという感じです。 現状、 ``` location /hoge { rewrite ^/hoge/fuga/([a-z]+)\.html$ /xxx/yyy/$1.html break; } ``` とconfファイルのserverディレクティブ内に記述しておりますがなぜか404になってしまいます。。。 (内部リダイレクトさせた先のページは確実にあります) 【追記】末尾のbreakをredirectにするとリダイレクト先のページが表示されます。 調べたり、他の似たような質問も見ていろいろ試してみましたがうまく行きません。。。 どなたかご教授いただけますでしょうか・・・!!
回答: マッピング先がフルパスでもよければ、以下でどうでしょう。 ``` location ~ ^/hoge/fuga/([a-z]+)\.html$ { alias /var/www/html/xxx/yyy/$1.html; } ``` フルパスでは困るという場合は、reverse proxy にするとかですかねぇ。