ウェブサーバーのリダイレクトと内部リライト

投稿日: 更新日:

間違えやすそうなのでメモ。

以降、例示を踏まえ説明する。

Apacheで運用しているウェブサイトにて、次のように、指定のリクエストがあった際に指定のURLからレスポンスを返したい。

リクエスト:
https://hoge.com/fuga/?prm_a=1&prm_b=2

実際にアクセスするURL:
https://hoge.com/fuga/index.html?prm_a=1&prm_b=2

リダイレクト

この時、リダイレクトで対応しようとすると、Apacheの設定は次の通り。

RewriteEngine On
RewriteRule ^fuga/$ /fuga/index.html [R=301,L]

また、ウェブブラウザのアドレスバーのURLは、レスポンスを返すURLに書き換わる。

内部リライト

ただ、場合によっては、ウェブブラウザのアドレスバーのURLはそのままにしたい、という事もある。
この時は設定でリダイレクトをせず、ただURLをリライトするだけにする(=内部リライト)。具体的にはApacheの設定は次の通り。

RewriteEngine On
RewriteRule ^fuga/$ /fuga/index.html [L]

関連するタグ

Apache, ウェブサーバー, リダイレクト, 内部リライト