我开始使用Laravel 5.1,我遇到了一个问题。
在我的路线中(正如Laravel文档建议的身份验证),我有路线angular.module('qrApp').config(['$httpProvider', '$sceDelegateProvider', function ($httpProvider, $sceDelegateProvider) {
// configuring providers
}]);
qrApp.directive('fileModel', ['$parse', function ($parse) {
// custom directive here
}]);
和auth/login
。当我在主页auth/register
时一切正常,但当我在/
并点击注册链接时,网址会复制auth参数,例如/auth/login
。
路线
/auth/auth/register
母版页导航菜单
// Authentication routes...
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
// Registration routes...
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');
我可以做些什么来避免重复的网址?
注意:我正在使用XAMPP运行本地计算机,我的完整网址是 @if (!Auth::check())
<li><a href="auth/login">Login </a></li>
<li><a href="auth/register">Register</a></li>
@else (Auth::check())
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">{{ Auth::user()->name }} <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="">Dashboard</a></li>
<li><a href="auth/logout">Logout</a></li>
</ul>
</li>
</ul>
@endif
(我仍在调查如何使公用文件夹消失)。如果我点击了http://localhost/myproject/public/
这样的路线,请点击网址的/auth/login
和myproject
文件夹。
答案 0 :(得分:2)
始终使用斜杠启动链接,这样就不会根据当前路径给出相对路径。这应该可以解决你的问题:
@if (!Auth::check())
<li><a href="/auth/login">Login </a></li>
<li><a href="/auth/register">Register</a></li>
@else (Auth::check())
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">{{ Auth::user()->name }} <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="">Dashboard</a></li>
<li><a href="/auth/logout">Logout</a></li>
</ul>
</li>
</ul>
@endif
您可能还想检查链接到实际路由而不是硬编码URL。由于Laravel5不再包含HTML illuminate/html
包,因此您必须自己包含它(现在它实际上是laravelcollective/html
)并且可以使用各种函数链接到您的路由。有一些不错的文档here,我所谈论的部分是"Generating URLs"。
答案 1 :(得分:1)
这对Laravel来说没问题,但是你建立你的锚标签的方式。
如果您未在相对网址前添加/
,则浏览器会将相对网址附加到当前网址。
解决方法是添加/
,这将告诉浏览器将相对网址附加到根网址。
所以,你应该使用
<li><a href="/auth/login">Login </a></li>
<li><a href="/auth/register">Register</a></li>