首页 > 解决方案 > Laravel - 根网址后缀和路由前缀不一致

问题描述

我们有一个带有 laravel 4 的测试站点,它位于服务器的子文件夹中。所以它在thedomain/sitename。这给路由带来了巨大挑战。路线出错了,例如:thedomain/about而不是thedomain/oursite/about.

我使用 Illuminate\Routing\UrlGenerator 添加了一个 Url 根后缀'oursite'(遵循这个建议)。

模板中的所有 url 都变得正确,但它们不匹配routes.php仍然在没有后缀的情况下处理它的任何内容。

我尝试添加路由前缀。现在输入到地址栏中的 url 起作用了。但是模板中的所有 url 都出错了,例如thedomain/oursite/oursite/about.

所以这似乎不一致 - 为什么当它们在模板中回显时将根 Url 后缀添加到所有路由(如 <a href="{{ route('about'); }})但它们在 routes.php中被解释时没有后缀!?

我怎样才能解决这个问题?我以为我快要解决这个问题了。或者我可以使用路由过滤器在每个链接上重定向吗?

标签: laravelrouting

解决方案


替代解决方案:也许使用子域sitename.thedomain.com而不是子文件夹。如果您的服务器提供商不支持子域,请更改提供商:P


推荐阅读