WordPressを利用しようと触っているうちに、Apacheのhtaccessファイルについて疑問を持ちました。
htaccessに関係する、調べてもよく分からなかった点、まとめて質問させてください。
ネットでよく見かける、「index.html有りを、無しに統一する」サンプルコードです。
htaccess
1<IfModule mod_rewrite.c> 2RewriteEngine on 3RewriteCond %{THE_REQUEST} ^.*/index.html 4RewriteRule ^(.*)index.html$ http://www.example.com/$1 [R=301,L] 5</IfModule>
まず1つ目
RewriteCondの行の後半部分の.(ドット)がエスケープされていません。
それともこの書き方が正しくて私が間違っているのか、ネットを検索してもエスケープ無しのサイトが多すぎて分かりません。
確かに意図した動きはしてくれていますが…
2つ目
RewriteRuleの変換先の$1は、変換元の(.*)の部分を見に行くと思っているのですが違うのでしょうか?
http://www.example.com/index.htmlにアクセスした場合、
http://www.example.com/http://www.example.com/となってしまうような気がします。
最後に
RewriteBaseを使ってシンプルに書きたいのですが、以下のコードの■■に入る良い書き方はありますか?
htaccess
1<IfModule mod_rewrite.c> 2RewriteEngine on 3RewriteBase /test_dir/test_subdir/ 4RewriteCond %{THE_REQUEST} ^.*/index.html 5RewriteRule ^(.*)index.html$ ■■$1 [R=301,L] 6</IfModule>
/test_dir/test_subdir/index.htmlの、index.htmlをただ消したいだけなのです。
宜しくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。