404重定向工作在当前目录

404 redirect work on current directory

本文关键字:当前目录 工作 重定向      更新时间:2023-09-26

我决定将礼仪规则应用于网站.htaccess:

...
# Not found
ErrorDocument 404 /error/404.html
...

它正在工作,但包括cssjs文件连接到当前目录,而不是相对于根目录。导致在mysite.com/item/item/等子目录中加载cssjs文件时出错。


我可以这样求解:

...
# Not found
ErrorDocument 404 mysite.com/error/404.html
...

它将在任何地方工作,但url正在改变,没有机会后门。

我想在不改变url-address的情况下得到相同的结果。

我该怎么做?

确保对404.html文件中的css/js文件的引用是绝对的(而不是相对的)。

不使用

<script src="script.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">

<script src="../script.js"></script>
<link rel="stylesheet" type="text/css" href="../style.css">

你应该使用

<script src="/static/js/script.js"></script>
<link rel="stylesheet" type="text/css" href="/static/css/style.css">

链接开头的/告诉浏览器从你的域名的根目录(即http://DOMAIN/static/...)获取js/css文件

将此添加到404.htmlheader

<base href="/">

它适用于所有的链接和图像包含