【Laravel/Ubuntu/Apache】TOP画面以外404になってしまった時の対応

NUSエンジニアブログ PHP
結論

Apache側の設定が必要でした。

状況

ローカル環境で作成したLaravelプロジェクトをUbuntu上で動作させるために、プロジェクトをUbuntu上に配置した。

Apacheの対応としては、以下のファイルを編集した。

ドキュメントルートの変更(これだけではTOP画面しか表示できない)
etc/apache2/sites-avaliable/000-default.conf

~~

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/プロジェクト名/public

~~
対応

今回の場合、以下の対応を行うことによって、TOP以外のページが表示できた。

①apache2.confのDirectory追加
etc/apache2/apache2.conf

#追加
<Directory /var/www/プロジェクト名>
        Options Indexes FollowSymLinks
        AllowOverride All        #AllowOverrideはAllに変更
        Require all granted
</Directory>

②次にApache2のモジュールを有効にするためのコマンドを実行

etc/apache2$ sudo a2enmod rewite

③最後にApacheの再起動を行います。

etc/apache2$ sudo systemctl restart apache2

補足

ピッタリこの対応で解決できる例もそう多くないかなと思います。
これ以外にも、
Laravelプロジェクトをroot権限で配置してしまう事によってLogファイルにApacheがアクセスできないパターン(これはエラー画面でるので追いやすいハズ、、!)
.htaccessの読み込みがうまくいっていなかったり(これも404になっちゃうのでわかりにくい)
様々な原因が考えられます。

次からこのパターンだけは簡単に解決できるように、ブログに残してみました。

コメント

タイトルとURLをコピーしました