WordPressでパーマリンクなどを設定していると、.htaccessファイルが作成されて以下の様な記述がされてます。
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
忘れ気味の部分だけ覚書。
RewriteCond %{REQUEST_FILENAME} !-f
ファイルがあるときは実行しないみたいな・・・
RewriteCond %{REQUEST_FILENAME} !-d
ディレクトリがある時は実行しないみたいな・・・
RewriteRule . /index.php [L]
[L]は、これでおしまいみたいな・・・
[R]だとURLがリダイレクトされる
[NC]だと文字の大小を無視
ちなみに、同じサイト(ディレクトリ内)でリダイレクトさせたい時は、Redirect permanentを使うと無限ループにハマってしまう場合があるので、RewriteRuleを使って実現しました。
(例)
RewriteRule ^old/(.*)$ /new/$1 [R]
正規表現とか難しいなぁー