2017-12-05 1 views
0

Laravelの推奨どおり、すべてのファイルを共有Webホストに設定していますが、セキュリティ上の理由から "public"ディレクトリはhosts_htmlより上位になければなりません。 .gitでそれを追跡するにはどうすればよいでしょうか?Laravelのルートディレクトリに.gitを設定するよりも良い方法

私のローカルファイル構造

repo 
    .git 
    laravel_files 
    **dirs and files ** 
    public 
    assets 
    upload 
    vendor 
    index.php 

私のウェブホストのファイル構造

root 
    .git 
    .gitignore 
    **a bunch of hidden files that cannot be tracked** 
    laravel_files 
    **dirs and files that need to be tracked ** 
    public_html 
    assets 
    upload 
    vendor 
    index.php 
    other folder (subdomain for testing to be ignored) 
    other folder (subdomain for testing to be ignored) 
    ... 

以上から分かるように、Gitはわずか2つのdirsでローカルに正常に動作しますが、ホスト上で.gitをする必要があるだろうルートディレクトリにありますか?

私はすべてが、これらの2つのLaravelのDIRSを.gitignore'ingことで、問題は、私は自分のリポジトリであり、Gitは正しく

は私の他のオプションは以下のようになり動作しないpublic_htmlの内部にいくつかのdirsを持っているということであるということでした2つのレポ、1つのラベールのディレクター、もう1つは公的なディレクターのためのものです(私は自分のレポスとしてサブドメインを持つことができますが、2つのレポに1つのプロジェクトを持つのは便利ではありません)

または、 laravel dirの中にpublic dirを戻してapachesを持っています .htaccessはlaravel_dir/public/index.phpを指していますが、私はもはや私のサブドメインを使用できないと思いますか?セキュリティ上の問題が起きやすい

他のアイデアをお持ちですか?これを達成する最良の方法は何ですか? 私のファイル構造では、依然として独自のレポとしてリポジトリの場所の下にあるディレクトリを使用することができますか?

答えて

0

あなたのホスティング業者に応じて、私は私は私に何をすべきか伝えることができます:

public_html 
    example.com // This contains the complete Laravel installation 
     .git 
     app 
     bootstrap 
     config 
     public 
     ... 

は、その後、私はpublic_html/example.com/publicに、サーバのドキュメントルートを指してみましょう。他のドキュメントルートのどれもpublic_htmlを指していません。

別のアプローチは、次のことがあります

example.com // This contains the complete Laravel installation 
    .git 
    app 
    bootstrap 
    config 
    public // symlinked to public_html/example.com 
    ... 
public_html 
    example.com 

その後、あなたのドキュメントルートがpublic_html/example.com

を指している必要があります
関連する問題