我有一个托管在子域下的网站用于测试目的,并尝试使用w3验证器和拼图验证html和css。取决于我使用的URL - http://alt.example.com(9个框架集类型错误4.01严格,CSS3通过)或http://www.example.com/alt(传递HTML5 /失败CSS3 183错误,主要是供应商扩展)。为什么链接的验证方式不同,我应该关注哪一个?关于如何修复它们的任何想法都会很棒。
神秘主题, Mystique-Child主题(有自己的style.css,使用@import url for core.css), WordPress 3.4
答案 0 :(得分:0)
原因是alt的来源是:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>alt.example.com</title>
</head>
<frameset rows="100%,*" border="0">
<frame src="http://www.example.com/alt" frameborder="0" />
<frame frameborder="0" noresize />
</frameset>
<!-- pageok -->
<!-- 02 -->
<!-- -->
</html>
换句话说,它不是真正的301重定向,或者只是映射到同一个文件夹,而是将其他URL加载到iframe的可怕版本中。检查您的托管设置,并将其更改为301重定向。
答案 1 :(得分:0)
更好的选择是将其映射到同一文件夹。这样,您就可以将某些功能仅用于托管在域根目录中的网站,例如site-root relative links。
尽管可以使用.htaccess
实现此映射,但所有主要的Web托管控制面板都有将子域映射到文件夹的选项。一旦你这样做,你可以改变重定向的方向(lol) - 它在你的控件中。使用子域也是更好的风格。
因此,您可以关注http://alt.example.com,将http://www.example.com/alt的外部请求重定向到子域,同时在内部映射到目录/ ALT