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)上有两个 Laravel Forge 配置的服务器。我对两者都使用了相同的配置,因为一个是我的生产服务器,另一个是我的开发服务器/测试服务器。我使用 BitBucket 在分支上提交我的更改(master 用于生产,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 回答