ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

mod_rewriteコミュの解説サイトについて

  • mixiチェック
  • このエントリーをはてなブックマークに追加
mod_rewrite について、分かりやすく解説してあるWebサイトがあれば、教えてくださいね。

(*^o^*)/

コメント(9)

Web マスターのための Google 情報
http://www.google.co.jp/intl/ja/webmasters/guidelines.html
によると、
「ダイナミック ページ (URL に "?" が含まれているページなど) を使用する場合、サーチ エンジン クローラによっては、静的ページと同じようにダイナミック ページをクロールするとは限らないことを考慮する必要があります。パラメータを短くしたり、パラメータの数を少なくすると、クロールされやすくなります。」
とのこと。

SEO対策上、動的ページのURLを静的ページのURLに変換したいんですよねー。
mod_rewriteを用いたユーザー別ページの構築
http://www.dadd9.com/tech/mod_rewrite.html#rewrite

RewriteCond 評価対象 評価条件
RewriteRule 書換条件 書換ルール [オプション]

の書式で指定する。
RewriteCondは省略可能で,評価対象が評価条件にマッチした場合,次の行が実行される。
評価条件,書換条件には正規表現を用いることができる。
mod_rewriteの基本
http://tech.bayashi.net/svr/doc/apache/mod_rewrite.html

使用するには2つの方法があります。

httpd.confに設定する
.htaccessに設定する

しかし、.htaccess による設定は処理が遅くなります。
root権限があるなら、httpd.confで設定しましょう。
mod_rewriteを利用したり、設定する記述は、テキストとして書き込みます。
動的だけど静的なページの作成 (mod_rewrite)
http://blog.su-jine.net/archives/2004/08/_mod_rewrite.html

まず、使用しているサーバが .htaccess、mod_rewrite が使えると言う環境である必要がある。

PukiWikiの改造
http://tfs.s41.xrea.com/pukiwiki.php?PukiWiki%C0%C5%C5%AAURL%B2%FE%C2%A4

tDiaryの改造
http://tdiary-users.sourceforge.jp/cgi-bin/wiki.cgi?html%A4%C7%A5%A2%A5%AF%A5%BB%A5%B9%A4%B7%A4%BF%A4%A4
mod_rewrite の設定
http://dog.intcul.tohoku.ac.jp/unix/accs-rest.html#rewrite-conf

mod_rewrite の書式は、概ね次のような構造になっています。

rewrite 機能を on にする。
rewrite の対象とする相手の条件(IP address など)を指定する。
どのような書き換えを行うかを指示する。

RewriteCond で参照できる環境変数(%{...} の中に指定できるもの)には、主に次のようなものがあります(良く使いそうなモノを pickup しました)。

正規表現
http://dog.intcul.tohoku.ac.jp/unix/accs-rest.html#regex

mod_rewrite の正規表現では、次の文字が特殊文字としてそれぞれ意味を持ちます。
これだけでは分かりにくいと思うので、いくつか例示します。
mod_rewrite と %2F
http://fumika.jp/nikki/2004/09/mod_rewrite

Apache の mod_rewrite を使っているときに、正規表現は正しいのに、どうしてもうまく書き換えルールが適用されず、404 エラーになってしまう現象に悩んでいました。
どうやら $2F の罠のようです。
Apacheのモジュール一覧
http://www5.plala.or.jp/vaio0630/apache/module.htm#A23

mod_rewrite
URLをリクエスト時にその場で書き換える処理をする。
------------------------------------------------------
RewriteEngine
 ランタイム書き換えエンジンをオンまたはオフにする。
RewriteOptions
 現在の設定について特別なオプションを指定する。
RewriteLog
 サーバーが書き換えアクションのログを記録するファイルを指定する。
RewriteLogLevel
 書き換えログファイルに記録する情報の詳しさレベルを指定する。数値を大きくするとサーバーパフォーマンスが大幅に低下するので注意。0〜2の間で指定する。
RewriteLock
 書き換えマップ定義プログラムとやり取りするために必要な同期化ロックファイルの名前を指定する。
RewriteMap
 キー参照によってフィールドを置換するために使う書き換えマップを定義する。
RewriteBase
 ディレクトリごとの書き換えについてベースURLを指定する。
RewriteCond
 書き換え条件を定義する。
RewriteRule
 単独の書き換えルールを定義する。
RewriteCond で参照できる環境変数について…

IT用語辞典e-Words「環境変数」
http://e-words.jp/w/E792B0E5A283E5A489E695B0.html

OSのシェルなどに設定されている、システムの属性を記録している変数。
変数の名前と意味はあらかじめ決まっているため、環境変数を読み込めばシステムの設定がある程度分かるようになっている。

環境変数のお話
http://www2s.biglobe.ne.jp/~cru/library/env/

HTTP で使われる各種の環境変数についての解説です。

Apache の環境変数
http://httpd.apache.org/docs-2.0/ja/env.html

Apache HTTP サーバは環境変数と呼ばれる、名前のついた 変数に情報を記憶する仕組みを提供しています。
この情報はログ収集や アクセス制御などのいろいろな操作を制御するために使うことができます。
【PHP TIPS】 41. mod_rewriteを使いこなそう
http://itpro.nikkeibp.co.jp/article/COLUMN/20070704/276647/
Web サーバーの機能によりURLの「書き換え」を行い、BのリクエストをAのリクエストに移すことで対応を行います。これを実現する仕組みの1つがmod_rewriteモジュールです。

RewriteRuleディレクティブで書き換えルールを設定します。

-----------------------------------------------
RewriteRule 検索パターン 置換文字列 [フラグ1,フラグ2・・・]
-----------------------------------------------

検索パターンには、POSIX互換の正規表現を記述できます。タグ付き正規表現にも対応しており、(から)で囲まれた部分は、置換文字列にて$N(ただしNは順番)と参照することができます。

フラグには、置き換えルールの動作を指定します。今回指定しているLは、ここで書き換えを終了することを表しています。要するにRewriteRuleが複数個記述されていた場合にも、その先のRewriteRuleが解釈されなくなる、という事です。

また、RewriteRuleの前にRewriteCondディレクティブを記述することもできます。これは、特定の条件に当てはまる場合にのみ、URLの書き換えるためのものです。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

mod_rewrite 更新情報

mod_rewriteのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング