1

まず第一に、その質問が別のスレッドで回答されている場合は申し訳ありませんが、私はそれを調査するのにかなりの時間を費やしましたが、何もしませんでした. ここで回答のない古い投稿を見つけました(Url redirect append new url to the old url)。

これが私の問題です:

Laravel でリダイレクトし、私の開発サーバーでのみリダイレクトすると、新しい URL が古い URL に追加されます。たとえば、adomain.com/login にいて、フォーム アクションが URL::route('doLogin') <=> adomain.com/doLogin に設定されているとします。ページを表示するとき、フォーム アクションは"adomain.com/login/http://adomain.com/doLogin"

私が理解していないのは、まったく同じコードが、まったく同じ設定で本番サーバーで機能することです。

これが私のセットアップです:

Digital Ocean(Ubuntu、NginX)に2つのLaravel Forgeプロビジョニングサーバーがあります。1つは本番サーバーで、もう1つは開発サーバー/テストサーバーであるため、両方に同じ構成を使用しました。私は BitBucket を使用して、ブランチ (本番用のマスターと開発用の dev) で変更をコミットします。

誰かがこの問題を理解/修正するのを手伝ってくれますか?

ありがとう、ステフ

****更新

ご提案いただきありがとうございます。http を追加する方法がわかりません。私は次のようにLaravelを使用しています:

意見:

Form::open(array('url'=>URL::route('adminLogin'), 'class'=>'form-horizontal'))

ルート:

Route::get ('admin/login', array('as' => 'adminLogin', 'uses'=>'AdminAuthController@showLogin'));
Route::post('admin/login', 'AdminAuthController@postLogin');
Route::get ('admin/logout', 'AdminAuthController@getLogout');

そして、これはページ上のフォーム用に取得した html です。

<form method="POST" action="http://adomain.com/http://adomain.com/admin/login" accept-charset="UTF-8" class="form-horizontal">

私のローカル環境は LAMP です:完全に動作します

私の開発環境は、NginX、MySql、および PHP を使用した Ubuntu 14.04 です:動作しません

私の本番環境は、NginX、MySql、および PHP を備えた Ubuntu 14.04 です。完全に動作します。

私は完全に無知です。

4

1 に答える 1

0

これは私によく起こり、ベース URL に http または https を含める必要があることがわかりました。これは、html リンクを作成して次のように記述した場合にも発生します。

href="adomain.com/login"

httpを含むリンク全体を書き出す必要があります。そうしないと、上記と同じ問題が発生します。

href="http://adomain.com/login"

于 2015-02-23T04:03:14.453 に答える