Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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
Php 拉威尔+;htaccess不允许访问目录_Php_.htaccess_Laravel_Server - Fatal编程技术网

Php 拉威尔+;htaccess不允许访问目录

Php 拉威尔+;htaccess不允许访问目录,php,.htaccess,laravel,server,Php,.htaccess,Laravel,Server,为了从laravel中删除/public/我使用了以下代码 RewriteEngine on RewriteCond %{HTTP_HOST} ^site.comn$ [NC,OR] RewriteCond %{HTTP_HOST} ^site.com$ RewriteCond %{REQUEST_URI} !public/ RewriteRule ^(.*) /public/$1 [L] 但现在的问题是,我甚至无法访问保存在site.com/files/image.png或类似文件下的文件。

为了从laravel中删除/public/我使用了以下代码

RewriteEngine on
RewriteCond %{HTTP_HOST} ^site.comn$ [NC,OR]
RewriteCond %{HTTP_HOST} ^site.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule ^(.*) /public/$1 [L]
但现在的问题是,我甚至无法访问保存在site.com/files/image.png或类似文件下的文件。它显示了404页


如何修改htaccess以允许访问某些目录。请帮忙。

这是因为您正在将所有内容重定向到/public/。您需要从重定向中排除现有的目录和文件

RewriteEngine on
RewriteCond %{HTTP_HOST} ^site.comn$ [NC,OR]
RewriteCond %{HTTP_HOST} ^site.com$
RewriteRule ^/?$ /public/ [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*) /public/$1 [L]

我不擅长修改。如果我在根目录下有一个名为/files/的目录,你能告诉我怎么做吗?@kirobo对不起,我的答案中有一个输入错误,编辑应该有效是的!谢谢它允许下载目录。但是现在,当我转到我的主域名site.com时,我可以看到目录列表,我必须再次转到site.com/public/才能看到该站点:(我们可以这样做吗?一切都保持不变,只允许下载文件而不显示404。工作完美!:)谢谢您,先生。我欠你一杯酒