【发布时间】:2021-03-31 23:18:33
【问题描述】:
【问题讨论】:
-
我已经尝试过了,但结果相同
-
请通过编辑问题分享您的尝试
【问题讨论】:
如果您“重新安装了 Apache”,那么 默认 DirectoryIndex 就是 index.html。您需要将此设置为 index.php 以便为您的 Laravel 前端控制器提供服务。
当 Apache 在请求目录时未找到 DirectoryIndex 文档(例如 index.html)并且启用了目录索引/列表(mod_autoindex)(默认)时,Apache 会生成一个目录列表,如您在此处看到的。
您需要将index.php设置为DirectoryIndex,例如:
<Directory /var/www/html/wafacashapp>
AllowOverride All
Require all granted
DirectoryIndex index.php
</Directory>
或者,您可以在您的.htaccess 文件中设置DirectoryIndex - 如果您有的话。 (如果您不使用.htaccess 文件,那么您应该通过设置AllowOverride None 来禁用.htaccess 覆盖。)
您还应该考虑禁用目录索引/列表,以便在找不到DirectoryIndex 文档时不暴露目录的内容。例如在同一个<Directory>容器(或.htaccess文件)中:
Options -Indexes
然后将向用户提供 403 Forbidden 而不是目录列表。
【讨论】:
您可以将 .htaccess 文件添加到项目的根目录并添加这些行
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
【讨论】:
Options -Indexes。
http://example.com/public 并且如果用户在没有 public 的情况下调用,将显示目录。所以我们可以将htaccess文件添加到root