php - ErrorDocument 似乎不适用于我的 .htaccess

标签 php apache .htaccess errordocument

请问有人可以建议吗?我希望网站访问者的默认页面为index.php,而对于所有不存在的页面,访问者应该看到errordoc.php

所以我把它放在 .htaccess 中:

ErrorDocument 404 /errordoc.php

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^mysite\.org\.uk$ [NC]
RewriteRule ^(.*)$ http://mysite.org.uk/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

不幸的是,所有内容都将转到index.php,包括错误。我尝试询问我的 friend Google,但他今天休息!

最佳答案

您的最后一条规则将捕获所有无法映射到现有文件 (RewriteCond %{REQUEST_FILENAME} !-f) 或现有目录 (RewriteCond %{REQUEST_FILENAME} !-d)。这就是错误文档不会被提供的原因。

关于php - ErrorDocument 似乎不适用于我的 .htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3675941/

相关文章:

.htaccess - 在 .htaccess 中使用 CDN 重定向时,重定向循环图像

php - 如何构造 PDOStatement 类?

php - 使我的 Ajax 函数正常工作的正确语法

regex - .htaccess:阻止访问文件并阻止目录浏览

java - Hadoop 集群卡住卡在 Reduce > copy >

php - laravel 路由直接进入文件夹和文件

php - 防止在 yii2 中出现重复的 batchInsert

php - 将mysql中的查询转换为两个数据库中的Codeigniter

apache - 为什么我不能让 Apache2 mod_dumpio 在 Lucid Lynx Ubuntu 下工作?

.htaccess - 对域强制使用 HTTPS 和 WWW,对子域 HTACCESS 仅使用 HTTPS