我遇到了一个关于 CSS 和图像文件链接断开的奇怪问题。
在我们的网站上,一切都按预期进行。如果你输入一个不存在的 URL 路径,比如http://example.com/test
404 not found,它应该会出现。
但是,如果您输入不同的路径http://example.com/another/test.html
,也会出现 404 页面,但指向 CSS 和图像的链接已损坏。
此外,URL 有时会解析为http://example.com/example.com/kontakt
在其中包含实际域example.com
。
也许有人对这个问题有一个解释/解决方案......
这是因为您使用的是资源(CSS、JS 和图像文件)的相对路径。您需要使用相对于 root 的 URL(以斜杠开头)或绝对 URL。
或者,base
在该head
部分中使用一个元素来告诉浏览器相对 URL 的相对关系。例如:
<base href="http://example.com/">
(但是请注意,base
如果您有页内锚点,例如,href="#top"
或需要支持 IE6 ,则在使用标记时需要注意一些事项?!)
但是,如果您输入不同的路径
http://example.com/another/test.html
,404 页面也会出现,但指向 css 和图像的链接已损坏。
例如,当您期望它与文档根目录相关时css/normalize.css
,此地址处的页面中的 URL将解析为http://example.com/another/css/normalize.css
。
此外,URL 有时会解析为
http://example.com/example.com/kontakt
在其中包含实际域example.com
。
这听起来像是您在某些链接中遗漏了该方案,例如:
<a href="example.com/kontakt">Link Text</a>
而它应该是:
<a href="http://example.com/kontakt">Link Text</a>
或者,协议相关:
<a href="//example.com/kontakt">Link Text</a>
另请参阅我在 Pro Webmasters 堆栈上对此问题的回答:https : //webmasters.stackexchange.com/questions/86450/htaccess-rewrite-url-leads-to-missing-css
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句