.htaccess ではまった

http://hoge.com/ なのか http://www.hoge.com/ なのか、どちらかに統一した方がいいよーというのをどこかで見て記述していた .htaccess で、サブドメインを作ったときに表示されずにはまった。

ルート直下で http://hoge.com/ じゃないと表示させないぜ!と指定していたため、下層フォルダの内容であるサブドメイン http://subdomain.hoge.com/ が 403 になっていたというもの。
うーんどこを書き直したらいいんだろうとしばらく悩んだが、下層フォルダに http://subdomain.hoge.com/ じゃないと表示させないぜ!という .htaccess を置けばいいんだと気がついた。

もっとスマートな解決策がありそうだけど、田舎くさい私はこれでおっけー。

大変お恥ずかしい追記 1/31 23:06

下層フォルダに .htaccess を置いてみたけどやっぱり 403 で、変だな変だなといろいろやってみたところ、.htaccess Editor で作ったWWW あり・なし統一のものをルート直下に置いた場合うまくいきました。
やっぱり書き方の問題だったんだろうか。

ちなみに最初に書いていたのはこれ。(大昔どこかからコピペ)

SetEnvIf Host "^hoge\.com$" hos_ok
order deny,allow
deny from all
allow from env=hos_ok

.htaccess Editor で作ったものがこれ。

<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.hoge\.com)(:80)? [NC]
RewriteRule ^(.*) http://hoge.com/$1 [R=301,L]
order deny,allow

さらに泣けてくる追記 1/31 23:33

せんせーに「SetEnvIfの使い方がちがうような」と言われ思い出しました。最初に書いていた内容をどこからコピペしたかを・・・。
特定のドメインでしかアクセスできないようにする:さくらのレンタルサーバ非公式FAQ
以前さくらを使っていたときに書いていた内容を全く違うものと勘違いしていただけだった・・・(´・ω・`)

田舎者どころかすっとこどっこいでした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です