質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

Q&A

解決済

1回答

2130閲覧

Laravelの公開ディレクトリについて

manaeos

総合スコア32

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

.htaccess

Apacheウェブサーバーにおいて、ディレクトリ単位で設置及び設定を行う設定ファイルを指します。

0グッド

0クリップ

投稿2020/12/08 10:50

XサーバーでLaravelをインストールするまでは出来たのですが、公開ディレクトリでの表示が分かりません。
Laravelのバージョンは8です。
Laravelの設置場所は、「public_html」と同じ階層にしてます。

hoge.com/でLaravelのTOPページを開くようにしたいのですが、
.htaccessやシンボリックリンクの設定がうまくいきません。
どう変更すればいいのでしょうか。

何卒よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hentaiman

2020/12/08 10:54

Xサーバーの事は分からないから質問者が具体的にどんなファイル配置してるのかも分からないけど、通常フレームワークはドキュメントルート外に置くものです 公開ディレクトリ=ドキュメントルートという事ならそれよりも上の階層にフレームワークソースを置きます ただしそれがXサーバーで出来るかどうかは知らない さくらは出来る
manaeos

2020/12/08 11:01

ドキュメントルートがhoge.com/public_htmlで、 Laravelはhoge.com/Laravelにしてます。 ドキュメントルートの外に設置していると思うのですが、間違ってますか?
hentaiman

2020/12/08 11:07

そういう意味ならあってますね。hoge.com/LaravelのLaravelとは具体的に何ですか?Laravelフレームワークのルートディレクトリですか?そうなら.envとかstorageとかがhoge.com/の直下に来るように配置を変えてしまった方が良いですよ。 index.phpを見れば分かる通り相対的にパスを取得しているので。
m.ts10806

2020/12/08 11:14

ふつう、サーバー側のドキュメントルートを変更します。
manaeos

2020/12/08 11:23

hentaiman様 ありがとうございます。 index.phpを変更したら、表示されました。
manaeos

2020/12/08 11:27

hentaiman様 ベストアンサーはどうしますか?
hentaiman

2020/12/08 11:34

自分で対応方法を書いて自己解決にしといてください ただ、個人的には今の理解状況でindex.phpを書き換える事は勧めません readouble.comにはindex.php環境に合わせて書き換えようという事は書いて無いと思うし、もしやるならせめて自力調査出来るようになってからの方が安心だと思われます
m.ts10806

2020/12/08 19:18

> https://readouble.com/laravel/8.x/ja/installation.html#public-directory > Laravelをインストールできたら、Webサーバのドキュメント/Webルートがpublicディレクトリになるように設定してください。 なので、ふつう、サーバー側のドキュメントルートを変更します。 なので、今回の質問をしている時点で、Laravelのドキュメントが推奨している事項以外のことで対応するのは後々の事故につながると判断できます。
guest

回答1

0

自己解決

一度、Laravel/public内のindex.phpをルートディレクトリに移して、中のパスを変更することで表示はしたのですが、
ご指摘もあり、もう一度調べ直して、Laravelのファイルを変更することなくひょうじすることが出来ました。

まずXサーバーでhoge.comでサブドメインを追加して、hoge.com/public_html/に「laravel」フォルダを作成
Tera Termでhoge.com/public_htmlに移動して.htaccessを開く

$ cd ~/hoge.com/public_html $ vi .htaccess

以下の内容を追加

<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [QSA,L] </IfModule>

public_html/laravel から laravel/public へのシンボリックリンクを設定。

ln -s $HOME/hoge.com/laravel/public $HOME/hoge.com/laravel

これでlaravelのTOPページが表示できました。

このやり方が正しいのかも正直分からないのですが、
今まで.htaccessを直接変更していたのですが、サーバーエラーになってました。
ただTeraTermのVimでの変更だと問題ないもですが、その理由が分かってないです。

投稿2020/12/09 03:10

manaeos

総合スコア32

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問