我已经在Mac OSX上将PHP 7.4升级到PHP 8.2.1,但由于某种原因,无法找到导致.htaccess文件中包含以下代码的问题的原因:
Options -Indexes -Multiviews
如果我删除此代码的网站加载,但比显示所有文件夹和文件,这是不可取的。需要网站加载index.php文件,这是显示在这里,试图隐藏这一点,但一旦这是在.htaccess文件,我得到以下错误消息:
抱歉,您没有权限访问该版块
PHP中有什么东西需要设置吗?我确实在httpd.conf文件中修改了php_module以指向PHP 8,所以我不明白还需要修改什么才能正确加载我的localhost,而不是显示文件和文件夹?
顺便说一句,这在php7. 4上工作得很好,但是更新后,就不再工作了。也许我必须安装其他模块才能让8. 2. 1正确工作?
如果我切换回使用PHP7.4,重新启动apache后,网站上的一切都加载正常。
1条答案
按热度按时间798qvoo81#
需要站点来加载index.php文件
你需要设置
DirectoryIndex
(mod_dir)--默认值为index.html
(这是Apache的问题,不是PHP的问题)。当Apache请求一个目录时,DirectoryIndex
决定了Apache将尝试服务哪个文件。例如:
如果一个
DirectoryIndex
文档(可能不止一个)没有找到...并且mod_autoindex被禁用(例如-Indexes
),那么你会得到一个403 Forbidden响应。如果mod_autoindex被启用,那么你自然会看到一个目录列表。(如果mod_autoindex根本没有安装,那么你会得到一个404 Not Found。)mod_autoindex(即
Indexes
)在Apache 2.4上默认不启用(在Apache 2.2上是启用的),但是,它可能在服务器配置的其他地方显式启用。