规范URL和URL重写

时间:2014-08-11 14:47:33

标签: apache .htaccess url rewrite canonical-link

最近我正在阅读关于HTTP的内容,我遇到了URL重写和URL规范化。

我读到当同一网页能够从多个网址加载时会发生网址规范化错误,如:

http://www.example.com

http://www.example.com/

http://example.com

http://example.com/

http://www.example.com/index.php

首先,谁确定键入http://example.com会自动重定向到 http://www.example.com?Is它是托管公司服务器中的一个设置?

其次,link rel =“canonical”是否解决了这个问题?例如,将代码插入页面http://www.example.com/index.php

的头部内部
<link rel="canonical" href="http://www.example.com" />

如果这解决了问题,我该如何检查这是否正常工作?我是否会看到从http://www.example.com/index.phphttp://www.example.com的网址更改?因为我做了,我没有看到任何变化。

通过.htaccess文件的301重定向是否优于rel =“canonical”解决方案?

如果我将http://www.example.com/index.php重写(通过.htaccess)到http://www.example.com,这是一个解决方案(关于重复内容)吗?对我而言,重写看起来更像是视觉上的改变,而不是其他任何东西。

提前致谢。

1 个答案:

答案 0 :(得分:1)

  

首先,谁确定键入http://example.com会自动重定向到http://www.example.com?Is我托管公司服务器中的设置?

托管公司的服务器或您可以创建301重定向以将所有内容定向到标准网址。

  

其次,链接rel =&#34;规范&#34;解决了这个问题?例如,将代码插入页面http://www.example.com/index.php

的头部内部

它会告诉搜索引擎的索引机器人,网址是相同的,它没有做任何关于将您重定向到实际的规范网址的事情。浏览器甚至可以选择基于具有不同规范URL的页面进行缓存。

做一个或两个,或两者,取决于你想做什么。您是否希望人们能够访问所有不同的URL(使用规范链接),或者您希望强制所有请求在浏览器的位置栏中看起来相同(使用301)重定向)。通过301重定向,索引机器人也将知道一个URL被永久重定向到另一个URL,并且应该将与旧的相关的任何元数据(在某种程度上)应用于新URL。