Laravel slug 在视图中抛出 href 路由

Laravel slug throwing off href routing in view

我正在使用 blade 模板为我正在处理的项目生成 header。 header视图内部的href路由如下:

<a href="index">Home</a>
<a href="about">About</a>

假设,没有 slug 在url 中提供,上面的 href 值可以正常工作。虽然,当提供 slug 并且当前路线类似于:

localhost/www/public/signup/trial

trial 是 slug,然后 href 最终生成以下 url 并在单击锚点时抛出错误:

localhost/www/public/signup/index

是否有任何解决方案可以在视图之间保持正确的 href 链接,而不管是否提供了 slug?

我已经尝试解决这个问题一段时间了,感谢任何建议,

提前致谢!

只需使用 url() 助手:

<a href="{{ url('index') }}">Home</a>

你应该使用 Laravel URL 生成器来生成 links 等等,它有一些方便的功能和细节,例如 linking 命名路由或控制器操作。

http://laravel.com/docs/4.2/helpers#urls

以下将 link 到名为 admin.index

的路由
<a href="{{ route('admin.index') }}">Home</a>

以下将 link 到控制器动作为 AdminController@index

的路线
<a href="{{ action('AdminController@index') }}">Home</a>

您也可以指定路线所需的参数。

action('AdminController@index', [$model->getKey(), 'SomeValue']);

使用操作或命名路由有一些额外的好处,例如允许您更新应用程序中的 URI,而无需搜索所有视图文件来更新 links,您只需要更新您的 routes.php 一切都已处理。

除了使用 routeurl helper,您还可以尝试在前面添加 '/'路线,以便到达 url 的根目录。

示例:

<a href="/index">Home</a>
<a href="/about">About</a>