2015-12-31 13 views
5

laravel PHPフレームワークを使用しようとすると、/home/usr/proj/laravelというディレクトリに配置しようとしていますが、laravelのパブリックなhtmlが/home/usr/proj/laravel/public、したがって私の問題は、私がmysite.com/laravel/またはmysite.com/laravelでアクセスすると、実際にはlaravel/public/index.phpの場所にリダイレクトされるようなnginxの設定を行う方法です。URLの末尾に一致しないサブディレクトリにあるnginx

はまた、URLは、私は私の場合にはこれを使用することができますどのようにかなり

location/{ 
     try_files $uri $uri/ /index.php?$query_string; 
} 

を見えるようにするために、laravelの公式によって提案されたnignxのルールがあるようですか?


UPDATE

それは、次のコードは、私の作品ようです(しかし、私はRouteCollection.phpライン145でNotFoundHttpExceptionエラー与える:を、多分私のルータの設定によって引き起こされる)

location /laravel{ 
    root /home/usr/proj/laravel/public; 
    index index.php index.html; 
    try_files $uri $uri/ /laravel/public/index.php?$query_string; 
    } 
+0

try_files $ uri $ /iindex.php?$query_string; –

+0

それも動作していないようです。 –

+0

RouteCollectionからエラーが表示された場合は、問題を自分で解決したように思えます:)残りはroutes.phpにあります –

答えて

0

あなたのアップデートに関しては、オリジナルのtry_filesの構文を維持するべきだと私は考えます:

try_files $uri $uri/ /index.php?$query_string; 

場所が/laravelに設定され、ルートがパブリックフォルダにあるためです。現在書かれている方法では、ファイル/home/usr/proj/laravel/public/public/index.phpをディスクに探します。

また、URLの一部に/locationが含まれるようにアプリケーションURLを設定する必要があります。私の経験がLaravel 4以降のLaravel 5の設定方法についてはあまりよく分かりません。

+0

root以外のエイリアスを使用するようです –