Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
子域上的Laravel获得403禁止的错误。因为它找不到位于public/folder中的index.php文件_Laravel_Subdomain_Http Status Code 403 - Fatal编程技术网

子域上的Laravel获得403禁止的错误。因为它找不到位于public/folder中的index.php文件

子域上的Laravel获得403禁止的错误。因为它找不到位于public/folder中的index.php文件,laravel,subdomain,http-status-code-403,Laravel,Subdomain,Http Status Code 403,我为我的Laravel应用程序创建了一个子域,并将其部署在上面。(示例:sub.domain.com) 当我尝试访问sub.domain.com时,我得到一个403错误,因为找不到index.php,它位于我项目的公共/文件夹中。我知道我可以从公用文件夹中移动所有文件并将它们放在项目的根目录中,但这是实现这一点的唯一方法吗?我还试图创建一个符号链接,但这对我也不起作用 对于这个问题,有没有“Laravel解决方案”?(我使用的是LaravelFramework 7.12.0)您应该将您的子域指向

我为我的Laravel应用程序创建了一个子域,并将其部署在上面。(示例:sub.domain.com)

当我尝试访问
sub.domain.com
时,我得到一个
403错误
,因为找不到index.php,它位于我项目的公共/文件夹中。我知道我可以从公用文件夹中移动所有文件并将它们放在项目的根目录中,但这是实现这一点的唯一方法吗?我还试图创建一个符号链接,但这对我也不起作用


对于这个问题,有没有“Laravel解决方案”?(我使用的是
LaravelFramework 7.12.0

您应该将您的子域指向特定的文件夹。如果您使用的是共享主机,请检查您的cPanel子域指向的位置。该子域应该有根目录,并且应该指向您的公用文件夹。然后你可以用拉威尔来做你的逻辑

另一种方法是使用htaccess

RewriteEngine on
RewriteBase /
# Rewrites all URLS [Replace "example" with the actual domain, without the TLD (.com, .net, .biz, etc)]
RewriteCond %{HTTP_HOST} ^(sub\.)?example\.

# Rewrite all those to insert /folder
RewriteRule ^(.*)$ /public/$1 [L]

这取决于您的子域首先指向的位置。如果它不在你的主域名范围内,你就不能重定向它。htaccess仍然感觉有点“黑客”,但你的答案是:)