電子書籍の厳選無料作品が豊富!

.htaccessファイルで下記のようなことをする記述方法を教えて下さい。
(1)指定ページが見つからない、削除されてしまったっ場合。
参考:http://allabout.co.jp/internet/hpcreate/closeup/ …
ErrorDocument 404 /notfound.html
(2).htaccess自体を隠す。
参考:http://htaccess.pasoa.com/itself.htm
<Files ~ "^\.ht">
deny from all
</Files>

ファイルに
<Files ~ "^\.ht">
deny from all
</Files>
ErrorDocument 404 /notfound.html
記述したのですが、エラーが出ました。

また、設置は、.htaccess・notfound.htmlをアスキーモードで、index.htmlと同じ位置にアップロードし、属性を606する。

A 回答 (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.htm …

  要するにサーバー管理者側から許可されていないと駄目ですが、その点は確認されていますか?

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をインストールした時点でそうなっています
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!