無料ホームページスペースサービス@PAGESで.htaccessを設置してみた
現在htmlとcssを勉強中でして、自社のWebサーバもまだ計画・実験段階。なので作成したページをアップするのに無料のレンタルサーバを登録してあったのです。@PAGESという無料ホームページスペースサービスで、簡単に特徴書きますと無料1GBの大容量PHP、CGIが使えるMysql,SQLiteが使えると、無料にしては結構いいかもと思ったわけです。全ページに広告が入りますが、試験的に使うなら問題ないし。テスト初めて2ヶ月くらい放置してあったので、しばらくぶりにいじってると…ファイルをFTPサーバに転送することができませんでしたそしてなぜか0バイトファイルがアップされたことになってるしそういえばサーバの障害情報とか来てた、と思いだし、2chの書き込みで同様の症状の書き込み発見どうやら、41鯖がダメらしい…登録ユーザーにはhttp://www○○.atpages.jp/ユーザID/ (○○は数字)というスペースが与えらえるのですが、うちのがまさに41鯖…他のサーバ探すのも面倒だし、無料だから別アカウントで登録してやれ、と新たにユーザー登録すると今度は43鯖になりました。さっそくテストUPしてみるとバッチリOKでした。で、今回何をしたかったかというと.htaccessでBasic認証をかけたかったんですよ。そう、ユーザー名とパスワード入れないとページが表示されないやつ。ずいぶん昔に1度作ったことがあったのですが、「.htaccessEditor」なんて便利なものがあるんですね。さっそく利用させてもらい、.htaccessと.htpasswdを作成.htaccessの中身は<Files ~ "^\.(htaccess|htpasswd)$">deny from all</Files>Options -IndexesAuthUserFile /usr/local/www/htdocs/(ユーザーID)/public_html/(アクセス制限したいディレクトリ)/.htpasswdAuthGroupFile /dev/nullAuthName "Please enter your ID and password"AuthType Basicrequire valid-user order deny,allowAuthUserFileの部分は@PAGESのFAQで確認これをUPして、さあページを更新ところが500 Error - Internal Server ErrorCGIもしくはSSIが正しく動作していません。もおなんか、うまくいかないことばっかりで、あれこれ格闘たのち、昔作った.htaccessと入れ替えてみると今度は認証ダイアログが出てうまくいきました。比較したところどうやらこの1行が原因のようですOptions -Indexesこれはファイル一覧を表示させない記述だということなのですが。FAQには「ユーザー認証のコントロールコマンドのみ記述を許可しております。」と記述がありますが、これが該当するのでしょうか?謎は残りますが、「Options -Indexes」の頭に「#」を付けてコメント化し、以下の記述でうまくいっています。<Files ~ "^\.(htaccess|htpasswd)$">deny from all</Files>#Options -IndexesAuthUserFile /usr/local/www/htdocs/(ユーザーID)/public_html/(アクセス制限したいディレクトリ)/.htpasswdAuthGroupFile /dev/nullAuthName "Please enter your ID and password"AuthType Basicrequire valid-user order deny,allow