結論から言えば、管理者になって以下のコマンドを実行することで、apache2のmodrewriteが有効になります。
a2enmod rewrite systemctl restart apache2
この設定を行わないとルーティングの設定が反映されません(/でアクセスした時のホームページは表示されるので一見正常に動いて見えるが、/xxxxなどの下位ページへのルーティング設定がまったく効かない状況になっています。
【参考】
Ubuntu で Apache2 のモジュールを有効にする
https://qiita.com/kotarella1110/items/501a5076ed79e23a98f8
apache2のモジュールの状態は以下のコマンドで確認できる。
cat \/etc\/apache2\/mods-available\/rewrite.load
※WordPressで記事の投稿をする時にコマンド実行を検知するためバックスラッシュ(\)をいれていますが実際に実行する時は不要です。
【戯言】
※Ubuntsを使う人からするとこのあたりの設定は常識の範疇なのだろうか?初期設定で有効になっていて欲しいです…。
※なお、OSはUbuntsでapache2を使用していない人には関係のない話だと思われます。
※laravel/public/.htaccessが有効である必要があります。それについては事前に確認してください。具体的には「\/etc\/apache2\/apache2.conf」にて対象となるドキュメントルートのディレクトリタグ(呼び方として正しいか不明)内で「AllowOverride All」を設定してあげればよい。
コメント