Laravel 应用程序:从外部 public 目录提供静态文件

Laravel application: serve static files from outer public directory

我在目录中有一个 Laravel 应用程序:

/var/www/html/example/

站点的 public 文件夹是:

/var/www/html/example/public/

我有一个外部 public 文件夹,其中包含图像、css/js 和其他文件:

/var/www/html/example/application/themes/

我想从这个文件夹中提供这些文件,如下所示:

http://www.example.com/themes/

这是当前的 .htaccess 文件:

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

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ / [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]</IfModule>

你能帮我完成 htaccess 文件,以提供外部 public 文件夹中的文件吗?我做了一些测试,但出现了 500 或 400 个错误。

我不知道你为什么要那样做,在我看来这不是一个好主意。但是如果你真的需要这个,最简单的方法就是使用符号链接。

ln -s /var/www/html/example/application/themes/ /var/www/html/example/public/themes/