Laravel URL 在子文件夹中不起作用

问题描述 投票:0回答:4

我已经完成了我的 Laravel 项目并在我的域的子文件夹中播放它。 https://example.com/swap

所以上面是我目录的根目录,当我去那里时,我确实得到了索引。但现在我按下的每个链接都会被重定向到我的域的根目录。所以我得到: https://example.com/events/1 而不是 https://example.com/swap/events/1

我是否被迫手动更改文件中的所有 URL?有没有办法让我的 htaccess 始终可以重定向到此“交换”文件夹并将所有内容放在该文件夹后面?

我尝试在路线中使用群组,但没有成功。

php laravel .htaccess redirect laravel-routing
4个回答
0
投票

您需要将您的 VHOST 定向到 laravel 的公共文件夹。这样做是出于安全目的。理想情况下,您的 laravel 安装位于 public 文件夹之外,因此您可以让 yourdomain.com 包含您的 laravel 安装并将您的 public 文件夹重命名为 swap。

如果您确实希望在路由中进行名称交换,您可以在组中使用路由前缀。


0
投票

打开

.env
文件并将您的应用程序 URL 更改为
https://example.com/swap/
并使用路由作为整个应用程序的链接
所有网址都可以正常工作。


0
投票

将 Laravel 应用程序放入子文件夹时。您需要修改子文件夹托管的

.htaccess
。并添加以下内容:

RewriteBase /swap

这样,应用程序就知道你什么时候去路线

{{ url('/hello-world') }}
,它最终会去“/swap/hello-world”


0
投票

对视图文件夹内的所有链接使用 url:

  1. 对于子文件夹链接使用:

子文件夹链接

  1. 对于根文件夹链接,请使用以下语法:

索引

“swap”子文件夹链接中的样式表和 javascript 可能会出现 404 错误的问题。要解决此问题,请使用:

<script type="text/javascript" src="{{asset('js/app.js')}}">
<link rel="stylesheet" type="text/css" href="{{asset('css/app.css')}}">
© www.soinside.com 2019 - 2024. All rights reserved.