我有一个 Laravel 8 项目,当我在 public/images 中添加图像时,它们没有出现在我的网页中。当我访问图像的 url 时,有时会找不到文件,有时会得到一些 JSON,有时会得到图像,有时会在同一文件夹中得到完全不同的图像。很奇怪,我可以按刷新,在不同的时间得到不同的结果。
我希望我在 /app/public 中放置的任何内容都设置为文档根目录的 apache 甚至不会触及 Laravel。
我怀疑这是否相关,但是当我对匿名组件进行更改时,我也遇到了奇怪的错误。代码没有问题,如果我转到其他浏览器,它可以工作。我只提到,以防万一它相关并提示某人。
有什么想法吗?我的.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
答案 0 :(得分:0)
您应该在问题中包含实际的错误消息,以便更好地了解问题。
无论如何,当请求url指向文件时,您似乎没有正确配置Apache .htaccess
文件以绕过laravel index.php
文件。下面是在 Laravel 项目中使用的示例 .htaccess
代码(放在 /public
文件夹中):
<IfModule mod_rewrite.c>
RewriteEngine On
# 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>
这将使 Apache 绕过 Laravel 并直接访问以下 URL 的文件:
http://www.example.com/images/1.jpg