Imomemo

色々とやっていきたい

常時SSL化に伴う.htaccessの設定で「Forbidden You don’t have permission」エラー

SSL化対応のため、httpでのアクセスをhttpsへリダイレクトしようとしていたらハマったとこ

SSL化していないサイトに対して、Chromeが警告を出すようになるそうなので最近はよくSSL化対応の作業をしている。

ちなみにこのときは事情により、サブドメイン内のpublic_html直下に置いてある .htaccess での制御だった。

その中で、.htaccessの設定をしているとあるエラーに遭遇!

Forbidden You don’t have permission to access / on this server.

というエラー。 .htaccessの中身は

RewriteEngine on  
RewriteCond %{HTTPS} off  
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]  

色々ググって調べたところこの書き方自体に問題はないし、 このファイル自身のパーミッションは604で特に問題ないはず。

+FollowSymLinksというオプションが必要だった

結論から言うと下記の

Options +FollowSymLinks  

を先頭に追加することで正常に動作するようになった。

Options +FollowSymLinksとは何なのか

解決はしたが意味が分からなかったので軽く調べてみた。
この設定は「シンボリックリンクを有効にする」という設定のようだ。

確かに今回の問題が起きたサイトではシンボリックリンクを使用していた。

・参考サイト
シンボリックリンクの使い方と落とし穴
https://qiita.com/go_astrayer/items/ab993cdc420d4f7f50d4