purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

.htaccess <Files >の中ではRewriteRule は動かない?

なんかFilesの中では動かなかった。
環境によるのかな?

とりあえずメモメモ

これは動かなかった

<Files ~ "^index\.html">
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^index\.html$ index.php [L]
</Files>

これは動いた

RewriteCond %{REQUEST_URI} ^/index\.html$
RewriteRule ^index\.html$ _index.php [L]

htaccessのRewriteCond %{REMOTE_ADDR} でサブネットマスクを指定

IPが日本のじゃなかったら云々ということをやろうとして

本当はこんな感じで指定したかった

RewriteCond %{REMOTE_ADDR} !^129\.60\.0\.0\/16$


でもサブネットマスクの使用はできないみたいなので
わかりやすく書くと

RewriteCond %{REMOTE_ADDR} ^129\.60.*$

みたいな感じで、なんでもいいよというように正規表現で書くことになる。



詳しい設定方法はこちら
サブネットマスクを正規表現で表したい | その他(ソフトウェア)のQ&A【OKWave】

その他参考