首页 > 解决方案 > 公用文件夹移出根目录的 Laravel 停止工作

问题描述

在任何人发布此问题的存档解决方案之前,这是我试图弄清楚这一点的第二天,我浏览了所有可能的帖子,即使其中大多数都是 5-6 岁。我有一个我正在做的 laravel 项目,我不得不把它搁置一段时间。在获得我想要完成项目的资源后,当我意识到它不再从公用文件夹中加载资产时。它加载视图的内容,但它试图访问旧的公用文件夹(根目录中的那个)。我从一开始就将公用文件夹从根目录中取出,并且一切正常。从那以后我更改了 PHP 版本,但我认为这不会对其产生任何影响。我加载文件夹的方法如下:

在 index.php 中绑定公共路径

$app->bind('path.public', function() {
return __DIR__;
});

这是我在根目录中的 .htaccess 内容

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
   Options -MultiViews
</IfModule>

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(css|js|images)/(.*)$ public/$1/$2 [L,NC]
</IfModule>

但是我尝试了在以前的问题解决方案中找到的所有类型的版本。应用程序在工匠服务器上运行。知道为什么我的应用程序不再访问该外部公用文件夹了吗?

标签: phplaravel.htaccessroutesassets

解决方案


推荐阅读