我是Apache和.htaccess的新手,我有一个关于如何使用Apache的ErrorDocument命令处理403和404错误的简单问题。
让我们看看我写的早期CMS中的代码:
ErrorDocument 404 /admin/includes/access_deny.php?error=404
当用户收到404错误时,会以静默方式将用户重定向到http://www.mysite.com/admin/includes/access_deny.php?error=404
。
这是我的问题,关于.htaccess文件,此错误文档将始终位于同一位置。但是,如果我需要移动我的安装,比如说subfolder
目录,我将需要打开.htaccess文件并对其进行更新,以使其正常工作:
ErrorDocument 404 /subfolder/admin/includes/access_deny.php?error=404
我有没有办法.htaccess重定向到这个页面admin/includes/access_deny.php?error=404
关于文件本身,而不是绝对URL?此外,无论我将来在何处移动安装,Apache都会捕获同一级别或子目录中的所有404错误。
如果不清楚,请告诉我。
感谢您的时间。
答案 0 :(得分:4)
来自manual:
URL可以以本地Web路径的斜杠(/)开头(相对于DocumentRoot),也可以是客户端可以解析的完整URL。或者,可以提供消息以供浏览器显示。
This thread可能会帮助您解决问题。