我决定对网站采用礼节规则,.htaccess
:
...
# Not found
ErrorDocument 404 /error/404.html
...
它正在运行,但包含css
和js
文件正在当前目录上连接,而不是相对于根目录。导致在css
等子目录中加载js
和mysite.com/item/item/
个文件时出错。
我可以像这样解决:
...
# Not found
ErrorDocument 404 mysite.com/error/404.html
...
它可以在任何地方使用,但url
正在改变而没有机会后门。
我希望在不更改url-address
的情况下获得相同的内容。
我该怎么做?
答案 0 :(得分:1)
确保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">
链接开头的/
告诉浏览器从域的根目录中获取js / css文件(即http://DOMAIN/static/...
)。
答案 1 :(得分:0)
在header
404.html
中添加此内容
<base href="/">
适用于所有链接和图片