.htaccess 错误文档问题

.htaccess 错误文档问题

我目前在 .htaccess 文件中定义了一个 ErrorDocument 指令:

ErrorDocument 404 /site/error.php

现在,如果我转到我的网站上不存在的页面,例如下面这个,它可以正常工作:

http://mysite.com/p

但是如果我尝试进入一个不存在的目录,该指令不起作用

http://mysite.com/random/hello

尝试查找文档:

http://mysite.com/random/site/error.php

这当然不存在。我在网上搜索过,所有资料都表明上面的第二个示例应该转到正确的文件(因为指令中的前导 / 使其相对于 Web 根目录),但显然情况并非如此。

我在 Ubuntu 上运行,谢谢!

答案1

<Directory >.htaccess 文件是相对于所请求的目录进行评估的。主配置中的块内的指令也是如此。

最简单的解决方案是将ErrorDocument指令移到主 Apache 配置中而不是 .htaccess 文件中。

答案2

尝试禁用所有模块。尝试apache2ctl configtest。发布您的 apache2.conf。

相关内容