- ベストアンサー
.htaccessでページを隠す方法とエラーページの設定方法
- .htaccessファイルを使用して、指定ページが見つからない場合や削除された場合のエラーページを設定する方法を教えてください。
- .htaccessファイルで.htaccess自体を隠す方法を教えてください。
- ファイルの設置方法についてもご指導ください。.htaccessやnotfound.htmlをアスキーモードで、index.htmlと同じ位置にアップロードし、属性を606に設定しましたが、エラーが出てしまいます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>エラーが出ました。 500エラーでしょうか? 1.まず (1)と(2)を .htaccessに記述して使うためには httpd.confの該当コンテナの AllowOverride 部分で (1) に対しては FileInfo を (2) に対しては Limit が許可されていないと .htaccessの文法などが正しくても 500エラーになります http://httpd.apache.org/docs/2.2/ja/mod/core.html#allowoverride 要するにサーバー管理者側から許可されていないと駄目ですが、その点は確認されていますか? 2. 許可されていたとしてですが 500エラーになる原因は A. 文法的に間違い=>質問文を見る限り500エラーになるミスは無いようです B. 全角スペースが入っている C. 文字コードを UTF-8 にしている=> BOMが入っているとエラーになります BOM無しのUTF-8Nなら大丈夫ですが http://ja.wikipedia.org/wiki/UTF-8 D. 行の後ろに#コメントをつけている .htaccess は行頭に #をつければコメントになりますが 例えば ErrorDocument 404 /notfound.html # 404エラーの指定 などと 一行の中で 行末にコメントをつける事は出来ません そんなところかな? 勿論転送はasciiモードです。 でエラーには成りませんが 危ないので .htaccess は604にしてください あと そもそも今時 <Files ~ "^\.ht"> なんて .htaccessの中で必要ですか? 20世紀の昔ならともかく、今時のまともなプロバイダやレンタルサーバーでは httpd.conf の中で <Files ~ "^\.ht"> Order allow,deny Deny from all </Files> (または <FilesMatch )と指定しているのが常識ですし、 そもそもApacheをインストールした時点でそうなっています