パラメータ付URLを.htaccessでリダイレクトするメモ
2016.03.16
.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年までのカウンターを作りました。
・
ソイヤッ!ソイヤッ!