btmup Blog

Web 制作のことを中心に、ちょっとした Tips などを掲載しています。「自分用メモ」が基本スタンス。

SEO Web制作全般

.htaccessで「Redirect permanent」が使えない場合に「RewriteRule」を使ってリダイレクトする方法。

投稿日:

.htaccess でリダイレクトする場合、一般的に使うのはこんな↓書式だと思います。

Redirect permanent /old/ http://www.btmup.com/new/ 

「/old/」がリダイレクト元、「http://www.btmup.com/new/」がリダイレクト先です。

そこら辺のことを以前まとめた記事があるので、興味のある方はどうぞ。
»PHPのページをWordPressのブログに301リダイレクトする。 | btmup Blog

で、今回、あるサイトのリニューアルに伴って、リダイレクトする必要がありました。
何も考えずに上記の方法でしようとしたら、何と「505 Internal Server Error」が発生!!
色々試してみましたが、明らかに「Redirect permanent」を使用した場合にエラーが発生しています。

ちなみに、そのサーバーはアイルの「iClusta」(「i-02」プラン)。
「稼働率100%」が謳い文句の人気レンサバです。
システム構築担当の方も仰ってましたが、なかなか制限の多いサーバーのようで。
それだけ動作が安定してるってことなのかも知れませんが……。
皆様もご使用になる場合はご注意を。

さてさて、使えないもんはしょうがないので、別な方法でやってみました。

「Redirect permanent」が使えない場合の301リダイレクト

アイルの公式サイトにある「よくある質問」で調べてみると、「Redirect permanent」に関する記述は見つかりませんでしたが、「RewriteRule」なら使えることが分かりました。
»【iクラスタ】リダイレクトの方法を教えてください。(アイルホスティングサービス : よくある質問)
そこで、「RewriteRule」を使用した方法を検討します。

参考にしたのは、たびたびお世話になっている下記ページ。
».htaccess – Rewrite
この中にある「ファイルの移転」がどうやら使えそうなので、それを参考に考えてみました。

今回、ルートにあるファイルから、同名のディレクトリへリダイレクトする必要がありました。
つまり、「/hoge.html」にユーザーがアクセスしたら、「/hoge/」へリダイレクトしたいわけです。
その条件を上記の「ファイルの移転」にあった書式に当てはめてみて、完成したのがこんな記述。

RewriteRule ^hoge.html$ /hoge/ [R=301,L]

終わってみれば意外と単純。
「RewriteRule」という文字を見ると、正規表現バリバリの記述をつい条件反射的に思い浮かべてしまいますが、実はそうでもなかったんですね。
あえて説明するまでもないと思いますが、「^hoge.html$」がリダイレクト元で、「/hoge/」がリダイレクト先です(フルパスを書く必要はなく、ルートからのパスで良さげ)。
「^」とか「.」とか「$」とか、正規表現っぽい要素が残ってますが、正直なところイマイチ理解してません。
なので、もしこの方法を使う場合は、大人しくこのまま使って必要なところだけ書き替えるのが賢いやり方だと思います。

あ、もちろん「RewriteEngine on」と「RewriteBase /」も書いといてくださいね。

以上、備忘メモ終わり!!







-SEO, Web制作全般
-, , , , ,

執筆者:


関連記事

no image

UX と UI の違いを具体例で説明してみる。

どうもまだまだ UX と UI を混同している人が多いっぽいので、具体的な例を挙げて説明してみたいと思います。 「説明」という言葉を使うのは、ちょっとおこがましい気もするんですけどね。 「僕なりの解釈 …

no image

Dreamweaver でテンプレートに含まれる内容の表示 / 非表示を切り替える方法。

忘れっぽいのでメモ。 自分が思い出すためだけの記事なので、解説などは一切省略。 テンプレートに含まれている内容を、ページによって表示させたりさせなかったりする場合は「オプション領域」を使う。 以上! …

no image

Safari 4 は世界で最も早く最も革新的なブラウザ(らしい)。

昨日(2/24)、Safari 4 のパブリックベータ版がリリースされたそうです。 (ということを今朝のシステム会社の方との打合せで知りました) »アップル、Safari 4を発表 ? 世 …

no image

.htaccess で、ページごとにピンポイントで 301 リダイレクトする方法。

ディレクトリごとリダイレクトする方法は過去の記事にも書いてますし、ググれば比較的すぐに見付かります。 一応書いとくと、 Redirect permanent /old/ http://www.btmu …

no image

IE7で○(丸)や×(バツ)などの記号が小さく表示される事象について

IE7(Internet Explorer 7)で発生する、「一部の記号(○□△×など)が小さく表示される」という事象を解決する方法があったので、メモ的にエントリーしておきます。 結論から言ってしまう …