パラメータ付URLを.htaccessでリダイレクトするメモ

パラメータ付URLを.htaccessでリダイレクトするメモ
.htaccessでパラメータ付URLをリダイレクトするメモです。
こちらの説明は「mod_rewrite」を利用した物となります。

たとえば、https://wispblog.tree-web.net/portable.cgi?p=1&t=3335 というURLでアクセスされたとき、https://wispblog.tree-web.net/data/1/page_1_3335.html へリダイレクトする為のメモとなります。


.htaccessのソースは以下の通りです。
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} portable.cgi
RewriteCond %{QUERY_STRING} ^p=([0-9]+)\&t=([0-9]+)$
RewriteRule ^.*$ https://wispblog.tree-web.net/data/%1/page\_%1\_%2.html? [R=301,L]


1行目:決まり文句です。
2行目:ベースディレクトリ(フォルダ)を明示的に指定しています。
3行目:対象となるファイルを指定しています。
4行目:パラメータを受け取る部分です。[0-9]の部分は[\d]に置換える事が出来ます。+を指定することで、「一桁以上の数値」となっています。
5行目:リダイレクトするURLの指定です。括弧内の第一引数は%1、第二引数は%2で指定しています。末尾の?は、余計なパラメータを外すためにつけています。(仕様上?の後は無視される。これを利用しています。)これが記述されていないと。〜〜.html?p=1&t=3335 となります。


たまには技術的はお話しでした。
なお、リダイレクト処理をブログにいれ、フィーチャーフォン向けページは、PC/スマホ向けページにリダイレクトされる様にしました。


□ 関連記事
文中の改行を削除する「改行カッター」を作りました。
「まだ2016年だよタイマー」 にアップデート!
Unix Time <-> 日付 変換Webアプリケーション
残り日数カウンター『2016年までタイマー』にグラフを追加しました!
月曜日インストーラー
Webアプリケーション 記事一覧
「まだ2014年だよタイマー」 2015年までのカウンターを作りました。
ソイヤッ!ソイヤッ!


2016.03.16

コメント投稿フォーム