2016-04-11 17 views
1

私はLaravel 5プロジェクトとHomesteadが正しくインストールされて動作する専用サーバーを持っています。 私はちょうどこのようなHomestead.ymlでtodo.app線追加されました:私は、その後Laravel + Homestead + nginxプロキシ:私のルートに正しいURLを取得

location /todo/ { 
     resolver 127.0.0.1; 
     proxy_pass http://todo.app:8000/; 
     proxy_redirect off; 
     proxy_set_header Host $host:$server_port; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
} 

sites: 
    - map: todo.app 
     to: /home/vagrant/Code/todo-app/public 

は外部からアクセスするには、私はnginxのこのようなリバースプロキシ構成しましたホストのファイルにtodo.appを127.0.0.1に解決する行を追加し、nginxのリゾルバとしてdnsmasqをインストールしました。

http://dev.mydomain.com/todo私がルートを除いて正しく動作するようにしました。フレームワークが生成するすべてのURLはサブディレクトリを忘れてしまいます。たとえば、ログインURLはhttp://dev.mydomain.com/loginですが、http://dev.mydomain.com/todo/loginである必要があります。 .envファイルのAPP_URLを変更することは役に立ちません。

+0

専用サーバーへのネットワーク環境ではアクセスできないため、私は192.168.10.10ではなく127.0.0.1を割り当てました。 – sotaan

答えて

0

すべてのルートをグループ化し、すべてに「todo」接頭辞を追加しましたか?

Route::group(['prefix' => 'todo'], function(){ 
    Route::get('index','[email protected]')->name('Homepage'); 
    ... 
    //The rest of the routes 
} 

これはあなたの解決策になることができれば、あなたのこのインストールのためにあなたのコードに触れることをいとわ:
は、ここでの例です。

あなたが事前に定義されたルート上のカスタム動作を必要とし、使用している場合:

Route::auth(); 

をごroutesファイルに、次の行を削除し、独自のルートを作成する必要があります。
あなたは前のコマンドが自動的に生成され、独自にカスタマイズして作成するためにそれを使用するかを確認するためのガイドとして、以下のスクリーンショットを使用することができます。

確認してください:http://i.stack.imgur.com/ep9cD.png

をあなたが使用することができます。

php artisan route:list 

イメージを複製するコマンドは、独自の解決策で結果を得ます。

+0

動作しません。私のwebappにアクセスするための私のURLはhttp://dev.mydomain.com/todo/todoになり、フレームワークによって生成されたURLは同じままです:http://dev.mydomain.com/login – sotaan

+0

Laravelのどのバージョンが正確ですかを使用して? 5.1または5.2? –

+0

私はlaravel 5.2を使用しています – sotaan

関連する問題