Sitemap作成(2)
http://blog.4sure.jp/yokoshima/2009/05/10/sitemap作成/の続きです。
mod_rewtite、見ても全然意味分かんないとは思いますが、たとえば
RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule . - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L] RewriteRule . index.php [L]
だと、
RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d
だと、mod_rewrite モジュールによると、
REQUEST_FILENAME
リクエストにマッチしたファイルまたはスクリプトの、 完全なローカルファイルシステムのパス。
とありますので、ファイル。またはディレクトリへのアクセスの場合に、
RewriteRule . - [L]
多分任意の一文字のパス(「/」しかないんじゃ)の場合は「-」とあるので置き換えしないで処理終了([L])だと思います。
次の
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
ここで使っているのが正規表現という奴で、
^([_0-9a-zA-Z-]+/)?(wp-.*)
というのは、「_」と0から9,、aからz、AからZと「-」を含む文字列が1回以上で最後が「/」で終わっているのが0回か1回と「wp-」で始まるものという事です。(多分・・・)
つまり「wordpress/wp-content/」とか「wordpress/wp-login.php」等のファイルやフォルダを指すのでしょう。
^([_0-9a-zA-Z-]+/)?(.*\.php)$
というのは、前述の『「wp-」で始まる』という部分が『最後が「.php」で終わる』になったものです。最初に「wp-」で始まるのは弾かれているはずなので、wopdpress/xmlrpc.php等がヒットするのでしょう。
この時に、カッコで囲まれている部分が二つありますが、最初のカッコ内にマッチした文字列が「$1」という変数に入り、二番目のカッコ内にマッチした文字列が「$2」という変数に入ります。
この場合、「foo/wp-content/」というアクセスが来ても、「bar/wp-content/」というアクセスがきても「wp-content/」へアクセスすることになります。
ウチのWordPressMUの設定は、ユーザー毎にサブフォルダでアクセスさせる設定なので、外から見た場合、「http://examble.com/foo/wp-content/」でも「http://examble.com/bar/wp-content/」でも、「http://examble.com/wp-content/」にアクセスすることになります。
なので・・・。
長いので次回に続きます。
[...] Sitemap作成(2)の続きです。 [...]