目次

この記事の目次です。

1. htaccessのパラメータ付きURLのリダイレクト方法
2. 別のURLでパラメータを引き継ぐ
3. 別のURLでパラメータを引き継がない
4. 別のURLでパラメータを上書きする
5. 別のURLでパラメータを引き継ぎつつ付加する

関連記事
更新履歴

1. htaccessのパラメータ付きURLのリダイレクト方法

パラメータ付きURLのリダイレクト設定について見ていきます。

2. 別のURLでパラメータを引き継ぐ

別のURLでパラメータを引き継ぐ場合はURLの「?」以降を記述しなければそのまま引き継がれます。

例えば、「http://<ドメイン>/before/index.php?aaa=bbb」のアクセスをパラメータを変えずに「https://<ドメイン>/index.php?aaa=bbb」にパラメータを引き継いでリダイレクトする場合です。

RewriteEngine on
RewriteRule ^before/index.html$ https://<ドメイン>/index.php [R=301,L]

3. 別のURLでパラメータを引き継がない

別のURLでパラメータを引き継がない場合はURLの「?」だけつけて「?」以降を記述しないようにします。

例えば、「http://<ドメイン>/before/index.php?aaa=bbb」のアクセスをパラメータを付与しない「https://<ドメイン>/index.php」にリダイレクトする場合です。

RewriteEngine on
RewriteRule ^before/index.html?$ https://<ドメイン>/index.php [R=301,L]

4. 別のURLでパラメータを上書きする

別のURLでパラメータを上書きする場合はURLの「?」以降を記述します。

例えば、「http://<ドメイン>/before/index.php?aaa=bbb」のアクセスをパラメータを変えずに「https://<ドメイン>/index.php?page=ddd」にパラメータを引き継いでリダイレクトする場合です。

RewriteEngine on
RewriteRule ^before/index.html$ https://<ドメイン>/index.php?page=ddd [R=301,L]

5. 別のURLでパラメータを引き継ぎつつ付加する

別のURLで別のURLでパラメータを引き継ぎつつ付加する場合はURLの「?」以降を記述し、「QSA」を指定します。

例えば、「http://<ドメイン>/before/index.php?aaa=bbb」のアクセスをパラメータを変えずに「https://<ドメイン>/index.php?page=ddd&aaa=bbb」にパラメータを引き継いでリダイレクトする場合です。

RewriteEngine on
RewriteRule ^before/index.html$ https://<ドメイン>/index.php?page=ddd [R=301,QSA,L]

関連記事

関連記事です。

リダイレクト

用語の意味や.htaccessの設定(正規表現やパラメータ)などリダイレクトについて解説しています。

詳細

更新履歴

更新履歴になります。

トップ手順・方法.htaccessのパラメータ付きURLのリダイレクト方法