雑記

インフラのことだったりプログラムのことだったりどうでもいいこと書いたり。要は雑記。

mod rewriteで403を404のレスポンスで返す

なんでそんなことするの?

ディレクトリの存在が確認できちゃうのでセキュリティ的によろしくないとのこと。

いざ実現

今まではPHPで無理やり404コードを返すようにしてました。こんな感じ。

  • ErrorDocumentの設定
ErrorDocument 403 403.php
<?php
header("HTTP/1.1 404 Not Found", false, 404);
echo file_get_contents("404.html");
exit;

ふと思った

これ、リライトでいけるんじゃね?って思ってやってみたらすごい簡単にいけちゃいました。こんな感じ
※ちなみにhtaccessで設定してます。

ErrorDocument 403 403.html
RewriteEngine on
RewriteRule 403.html - [R=404,L]

これだけ。
403.htmlは実体なくても大丈夫。

次からはこれで対応だなあ。