ApacheのAliasと.htaccessでLaravelをサブディレクトリで動かす

laravel-subdirectry
  • URLをコピーしました!

1つのドメインで複数サイトを運用したい場合の1つの方法として、サブディレクトリドキュメントルートとして動作させる方法があります。
以前学習したApacheAriasを利用して、Laravelサブディレクトリで動作させる方法をご紹介します。

サブドメインじゃダメなの?と思った方へ。
まず、この記事に至った経緯ですが、自宅サーバーでフリードメインのサブドメインを自分で設定しようとすると何かと面倒なのでした。
しかし、この方法だと比較的簡単に設定することができます。
それでは参ります!

目次

Laravelをサブディレクトリで動かす

作成または変更する設定ファイルは、サーバー側でAriasを設定する〜.confと、Laravelpublicディレクトリ直下にある.htaccessのみです。

ApacheのAliasを設定する

ここでは、LinuxCentOS 7)の設定です。
httpd.confconf.dを読み込んでいることを前提とします。
まずは、Alias設定用のファイルを作成します。

※別ファイルに設定する必要はないですが、わかりやすくするために分けて書きますそして、ファイル内に以下のように記述します。

ここで既にLaravelpublicフォルダを参照するようにします。
完了したら保存してApacheを再起動しましょう。

ApacheAlias設定は以上です。

.htaccessを変更する

次に、Laravelのプロジェクトフォルダ直下のpublicフォルダ内にある.htaccessファイルを編集します。
注目すべきは最後の2行です。

デフォルトで書かれているRewriteRuleをコメントアウトし、Aliasで設定したサブディレクトリを指定します。
次に、サブディレクトリを指定したRewriteBaseを追記して完了です。

注意点・参考サイト

著者が参考にしたサイトでは、RewriteBaseのサブディレクトリ名の後ろにスラッシュ/)を書いてなかったのですが、これがないとURLの後ろにスラッシュを付けるとページが表示されませんでした。
上記の書き方ならスラッシュがあってもなくても表示することができました。

以上!ありがとうございました!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次