.htaccessが反応しない場合の対処法

.htaccess設置場所

.htaccessは、ドキュメントルート(Web公開ディレクトリ)に設置します。

$cd /var/www/path/public_html
$touch .htaccess

.htaccessを設置しても定義が読み込まれない場合

まずは下記を.htaccessに記載し、エラー発生時のページ指定で検証します。

ErrorDocument 404 https://google.com

不明なURLへアクセスした場合、Googleが表示されれば、.htaccessは機能しています。

Googleが表示されない場合は、.htaccessが有効になっていない、.htaccessの記述が効いていない可能性があります。

httpd.confのAllowOverrideをAllに設定

.htaccessが反応しない場合は、httpd.confの記述で、下記を確認します。


上記の「AllowOverride None」を「AllowOverride All」に変更します。

バーチャルホスト等設定している場合

/etc/httpd/conf/httpd.conf で上記設定しても、.htaccessが反応しない場合があります。

バーチャルホスト等を設定している場合、複数の.conf があります。その場合は、「AllowOverride」の指定を下記コマンドで検索し、ヒットしたものを変更します。

 #find /etc/httpd/ -name "*" | xargs grep AllowOverride

上記コマンドで、ヒットしたconfファイルを変更し、apacheを再起動します。

#systemctl restart httpd

この記事のご感想やコメントはこちら

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