URLを操作する modRewite
URLを操作して、様々な用途に使用できるmodRewiteについて書きました。
mod_rewriteとは
WebサーバーであるApache上で利用することができる機能です。
機能内容を簡単にいえば、ユーザー(又は検索エンジン)からのリクエストにあるURL情報を、変更し「リダイレクト」する事ができます。
mod_rewriteの初期設定
mod_rewriteはApacheのモジュールなので設定ファイルで有効にする必要があります。
1 2 3 4 5 6 | vi /etc/httpd/conf/httpd.conf #LoadModule rewrite_module modules/mod_rewrite.so LoadModule rewrite_module modules/mod_rewrite.so /etc/init.d/httpd/restart |
これでmodRewiteが使えます。
使用例
1, サイトの引越し(リニューアル)の時にリダイレクトする方法。
例:
http://www.aaa.com/ から http://www.bbb.com/ にドメインが変更になった場合に
http://www.bbb.com/ にリダイレクトさせることができます。
・設置場所 → http://www.aaa.com/ のドキュメントルートに.htaccessを設置
1 2 | RewriteEngine on RewriteRule ^/(.*)$ http://www.bbb.com/$1 [R=301,L] |
2, 動的ページを静的ページに見せる
SEO対策でよく使われます。
動的ページを静的ページに見せることによって、検索エンジンにインデックスされやすくなるらしいです。
例:
http://www.aaa.com/search.php?id=123&name=bob
↓
http://www.aaa.com/123_bob.html
1 2 3 4 5 6 | Options FollowSymLinks RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([0-9A-Za-z]+)_([0-9A-Za-z]+).html$ search.php?id=$1&name=$2 |
3, wwwありをwwwなしに301リダイレクト
SEOの基本ですが、wwwありか、なしで統一する方法です。
例:
http://www.aaa.com/ (あり)から http://aaa.com/ (なし)へ統一する。
1 2 3 4 | RewriteEngine on RewriteCond %{HTTP_HOST} www\.aaa\.com RewriteRule ^(.*)$ http://aaa.com/$1 [R=301,L] |
他にも様々な方法があります。
気になる方はこちらチェックしてみてください。
http://snipsnaptmae.wordpress.com/2013/02/28/modrewrite/
Author Profile
スターフィールド編集部
SHARE