QUOIT Blog

.htaccessでURLを加工する

この記事は6年以上前の記事です。情報が古い場合がありますのでお気を付け下さい。

WordPressにもそういう機能はありますが、.htaccessを使ってURLを擬似的に加工するやり方です。

今回は、WaybackMachinebacolicioで使われている、「 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か下のコメント欄へどうぞ。

1 comment for “.htaccessでURLを加工する