当错误的地址在根级别www.mywebsite.com/nopage.html
上请求某些内容时,我注意到我的404页面正常工作。但是,如果我要访问不存在的子页面,那么我的404无法正确显示www.mywebsite.com/admin/nopage.html
。唯一的方法是设置404中所有样式表,链接和图像的绝对路径吗?
这是我的http.conf条目:
ServerName www.mywebsite.com
DocumentRoot /var/www/currentsite
ErrorDocument 404 /404error.php
<Directory /var/www/currentsite>
Options -Indexes FollowSymLinks +Includes
AllowOverride all
Allow from all
Order allow,deny
</Directory>
有没有办法将浏览器发送到404页面,将404调用到用户最终到达的位置?
答案 0 :(得分:8)
将<base href="http://www.mywebsite.com">
添加到错误页面的head
标记,以使所有相对网址相对于www.mywebsite.com
(而不是www.mywebsite.com/admin
)进行解析。我假设你的错误页面是动态生成的,所以如果这个错误页面需要处理多个域名,那么将正确的域名添加到服务器上的页面应该不难。
答案 1 :(得分:0)
在.htaccess文件中,使用完整的URL地址 错误页面路径
ErrorDocument 404 http://www.yourdomain.com/404.html
祝你好运!