2016-11-23 13 views
5

私はLaravelフレームワークを使用しています。ご存知のように、そのディレクトリには、次のようになります。私のウェブサイトのホームページを開くにはLaravelでルートとしてパブリックフォルダを作成するには?

enter image description here

Route::get('/', '[email protected]');)私は、ディレクトリの/publicフォルダを開く必要があります。

http://example.com/public 

とにかく、のみ私のドメイン名(http://example.com/が)私のルートではありません。他の言葉では、私のウェブサイトの最初のページを見るために、ここにURLです。 /publicフォルダをルートにするにはどうすればよいですか?


私は回避策を見つけました。私はルートにindex.phpを作成し、/publicフォルダーにリダイレクトコードを書くことができます。ユーザーがhttp://example.com/と入力すると、自動的にhttp://example.com/publicにリダイレクトされます。しかしそれでも醜いです。 URLに/publicが表示されたくありません。なにか提案を?

+0

[URLから国民を削除Laravel 5]の可能性のある重複:nginxのために

DocumentRoot "/path_to_laravel_project/public" <Directory "/path_to_laravel_project/public"> 

、この行を変更する必要があります。あなたはこれらのディレクティブを使用することができますApacheの

/stackoverflow.com/questions/28364496/laravel-5-remove-public-from-url) –

+0

FTPのディレクトリ構造とは何ですか? 'domains/domain.com/public_html'のようなもの? –

答えて

5

これを行う方法はいくつもあります。

はあなただけ公共ディレクトリからindex.phpと.htaccessをカットし、ルートディレクトリにそれを貼り付ける必要があり、すべてのthatsとやってindex.php

require __DIR__.'/bootstrap/autoload.php'; 
$app = require_once __DIR__.'/bootstrap/app.php'; 

としてベストな方法で2つの行を置き換える .htaccessです。 Laravelインストールのルートディレクトリに .htaccessファイルを作成します。そして、以下のコードがこれに対応します。あなたはここから読むことができます

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

WAY TO DO

+0

ルート上にある 'index.php'ファイルにこれらの2行を書きますか? –

+0

@MartinAJパブリックディレクトリからindex.phpと.htaccessを切り取り、laravelのルートディレクトリに貼り付けましたか? –

+0

ああ...まだ、lemmeテストそれ –

1

は、任意のLaravelファイルをmofidyしないでください。 Webサーバー(ApacheまたはNginx)を使用してLaravel project to public directoryを指します。 /: - (HTTP

root /path_to_laravel_project/public; 
+0

ルート上に存在する '.htaccess'ファイルにこれら2行の最初の行*(私はApacheを使用しています)*を書きますか? –

+0

@MartinAJ通常はメイン設定ファイルまたは仮想ホスト設定に入れます。 –

+0

ええ、ルート上に '/ config'フォルダがあります。そう?ファイルを作成する必要がありますか? –

関連する問題