![Apache 默认找不到 index.php,请设置通过 index.php 进行路由的规则](https://linux22.com/image/580528/Apache%20%E9%BB%98%E8%AE%A4%E6%89%BE%E4%B8%8D%E5%88%B0%20index.php%EF%BC%8C%E8%AF%B7%E8%AE%BE%E7%BD%AE%E9%80%9A%E8%BF%87%20index.php%20%E8%BF%9B%E8%A1%8C%E8%B7%AF%E7%94%B1%E7%9A%84%E8%A7%84%E5%88%99.png)
服务器上的 Apache 默认设置为查找 index.php,这对于普通文件夹有效。
但是,我有一个.htaccess
规则,即通过我的路由脚本来路由所有请求:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
有了这些.htaccess内容,服务器就会返回404错误。只有指定后,/index.php
才会调用路由脚本。
关于我做错什么有什么提示吗?
答案1
听起来您不允许.htaccess
使用文件。您需要一个<Directory>
包含以下内容的节:
AllowOverride All
选项 All 可能不适合你的环境,因此请查看本文档看看你允许什么覆盖.htaccess
。