【问题标题】:Laravel sub-folder installation creates issue with redirectionLaravel 子文件夹安装会产生重定向问题
【发布时间】:2018-05-08 02:52:39
【问题描述】:

我已经在子文件夹中安装了 Laravel 应用程序。网址如:mysite.com/laravel/public/index.php/home

它工作正常,但是当我单击 /name 之类的菜单项时,它会将我重定向回主页 mysite.com 但我希望它像 mysite.com/laravel/public/index.php/name 一样

Laravel 自己的默认路由,例如 {{ route('register') }} 在我测试的任何地方都可以正常工作,但我自己定义的路由不起作用。

我该如何解决?我已经搜索过了,但一无所获。请帮忙。

谢谢。

【问题讨论】:

  • 您能否分享您的目录结构、htaccess 和 /name 东西——它是文件夹、路由还是其他什么?
  • /name 是路由,例如:Name
  • 目录和.htaccess文件在Laravel默认结构中
  • 你是否更改了.env文件中的APP_URL?
  • 真的,我希望你能分享.htaccess 的目录结构、内容以及routes.php 注册表为你的/name.. 以帮助更多的人了解根本原因这个麻烦..

标签: php laravel .htaccess redirect


【解决方案1】:

即使您在子文件夹中安装了 Laravel,您的 /home 路径也应该是:

mysite.com/laravel/public/home

在定义路由时,您的 /name 仍应定义为:

Route::get('/name', 'Controller@function');

当 Laravel 安装在子文件夹中时从 Blade 链接可能会有点棘手:

{{ URL::to('/') }}/name

【讨论】:

  • 实际上,{{ URL::to('/') }}/name 是很糟糕的,为什么不呢,{{ route('name') }} 如果您已将路线注册为Route::get('/name', 'Controller@function')->name('name');,因为它更干净.. 请查看named routes documentation
  • 我使用的是 {{ URL::to('/home') }} 而不是 {{ URL::to('/') }}/name。它现在正在工作。谢谢
猜你喜欢
  • 1970-01-01
  • 2017-07-17
  • 2017-08-02
  • 2018-08-27
  • 1970-01-01
  • 2019-04-10
  • 1970-01-01
  • 1970-01-01
  • 2017-08-05
相关资源
最近更新 更多