最近我正在阅读关于HTTP的内容,我遇到了URL重写和URL规范化 .
我读到当同一网页能够从多个URL加载时发生URL规范化错误,如:
http://www.example.com/index.php
首先,谁确定键入http://example.com会自动重定向到http://www.example.com?Is它是我托管公司服务器中的设置?
其次,链接rel = "canonical"是否解决了问题?例如,将下面的代码插入页面的头部http://www.example.com/index.php
<link rel="canonical" href="http://www.example.com" />
如果这解决了问题,我该如何检查这是否正常工作?我是否会看到从http://www.example.com/index.php到http://www.example.com的网址更改?因为我做到了,我没有看到任何变化 .
通过.htaccess文件的301重定向是否优于rel =“canonical”解决方案?
如果我重写(通过.htaccess)http://www.example.com/index.php到http://www.example.com,这将是一个解决方案(关于重复内容)?对我来说,重写看起来更像是视觉上的变化而不是其他任何东西 .
提前致谢 .
1 回答
托管公司的服务器或您可以创建301重定向以将所有内容定向到canoncical URL .
它会告诉搜索引擎索引机器人这些URL是相同的,它没有做任何关于将你重定向到实际的规范URL的事情 . 浏览器甚至可以选择基于具有不同规范URL的页面进行缓存 .
做一个或另一个,或两者兼而有之,取决于你想做什么 . 您是否希望人们能够访问所有不同的URL(使用规范链接),或者您是否希望强制所有请求在浏览器的位置栏中看起来相同(使用301重定向) . 通过301重定向,索引机器人还将知道一个URL被永久重定向到另一个URL,并且与旧的相关的任何元数据都应该(在某种程度上)应用于新URL .