パラメーターを引き継いでリダイレクトするほかの実装方法としてWebサーバーのリダイレクト設定を入れる方法もあります。
IISでのリダイレクト設定の詳細についてはこちらの記事を参照してください。
パラメーターを保持してページ転送をするコードを紹介します。
meta refreshタグを利用してページを転送する方法を紹介しましたが、この方法ではアクセスしたURLにパラメータが追加されている場合、転送によりパラメーターが失われてしまいます。この記事では、パラメーターを保持してページ転送をする方法を紹介します。
このページでは、JavaScriptを利用した実装方法を紹介します。
JavaScriptのページ切り替え処理(詳細はこちらの記事)と
JavaScriptでのパラメーター取得(詳細はこちらの記事)を組み合わせて実装します。
下記のHTMLファイルを作成します。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
var paramstr = document.location.search;
document.location.href = "https://www.ipentec.com/"+paramstr;
</script>
</head>
<body>
<p>転送ページです。</p>
</body>
</html>
ページを表示すると script タグ内のJavaScriptが実行されます。
下記コードでURLに追加されているパラメータの文字列を取得します。
var paramstr = document.location.search;
取得したパラメーターを遷移先のURLに追加してパラメータを保持してページ遷移します。
document.location.href = "https://www.ipentec.com/"+paramstr;
プロジェクトを実行した状態で、Webブラウザを別途起動します。
Webブラウザのアドレスバーに転送ページのURLを入力します。末尾にパラメーターを記述します。(今回は"?ref=test"を追記しました。)
[Enter]キーで確定すると、ページが開かれ、その後ページ転送されます。ページ転送後のURLにもパラメーターが追加されている状態であることが確認できます。
パラメーター名を変更して再度実行します。
元のページのパラメーターが転送先のページにも引き継がれていることが確認できます。