.htaccessでURLを加工する
WordPressにもそういう機能はありますが、.htaccessを使ってURLを擬似的に加工するやり方です。
今回は、WaybackMachineやbacolicioで使われている、「 http://hoge.com/http://piyo.jp 」のような、「http://」が連続するURLが有効になるように作ってみます。
Twitterで話してて気になったのでやってみました。
動作要件
まず、動作要件ですが、
1) httpd.conf が編集できる環境 または .htaccess が使えること
→サーバに確認しましょう。レンタルサーバによっては禁止しているところもあります。
2) mod_rewrite が有効であること
→こちらもサーバに確認しましょう。自分でインストールできる環境なら頑張ってください。
この二つだけです。
書き方
htaccessに、次のように記載します。
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.*)?$ index.php?url=$1 [L]
これでおしまいです。
で、どうなるの?
上記のように書くと、
http://hoge.com/http://piyo.jp/huga
というアクセスが
http://hoge.com/index.php?url=http:/piyo.jp/huga
というふうにアクセスしたのと同等になります。
「index.php」の引数として、url=http:/piyo.jp/huga が与えられるということですね。
普通に$_GET[“url”]で取れます。
あとはプログラムでうんちゃらするというわけです。
このとき、「http://」ではなく、「http:/」となっていることに注意してください。
(僕の環境ではphpで取得した値がそうなってました。)
URLがいじれるのはなかなか面白いですね。
興味ありましたらどうぞ。
不明点はTwitterか下のコメント欄へどうぞ。
“.htaccessでURLを加工する” に対して1件のコメントがあります。
コメントは受け付けていません。