常時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