【发布时间】:2018-11-27 18:49:48
【问题描述】:
我们有一个带有 laravel 4 的测试站点,它位于服务器上的 子文件夹。所以它在thedomain/sitename。这给路由带来了巨大挑战。路由出错了,比如:thedomain/about 而不是 thedomain/oursite/about。
我使用 Illuminate\Routing\UrlGenerator 添加了一个 Url 根后缀'oursite'(在this suggestion 之后)。
模板中的所有 url 都变得正确,但它们与 routes.php 中的任何内容都不匹配,routes.php 仍然在没有后缀的情况下对其进行处理。
我尝试添加 route prefix 。现在输入到地址栏中的 url 起作用了。但是模板中的所有 url 都出错了,例如 thedomain/oursite/oursite/about。
所以这似乎不一致 - 为什么当它们在模板中回显时将根 URL 后缀添加到所有路由(如 <a href="{{ route('about'); }} )但它们被解释为 没有 routes.php 中的后缀!?
我怎样才能解决这个问题?我以为我快要解决这个问题了。或者我可以使用路由过滤器在每个链接上重定向吗?
【问题讨论】:
-
您是否尝试过不重写 index.php 的路由,所以您的路由将是
thedomain/oursite/index.php/about -
不,我没试过。在 Laravel 中是如何启用的?
-
如果在 IIS 上,它是 .htaccess 或 web.config 的一部分,它与 laravel 无关,与您的 Web 服务器配置有关。本质上,您希望 index.php 出现在您的路线之前。