Brian F爱
从专注于角图,Web技术以yobet英雄联盟及波特兰的Node.js的Google开发人员专家中学习。
广告 ·ultimatecourses.com.
用终极课程学习角度正确的方式

小写你的URI.

对于SEO目的,通常需要在您的网站上强制执行小写URI。yobet英雄联盟谷歌(我认为所有其他搜索引擎)区分大小写。换句话说,它们将识别以下URL作为两个单独的和不同的页面:

如果您使用诸如Windows之类的不敏感的文件系统,则尤其有问题。此外,随着这些页面被视为单独的且不同的并包含相同的内容,您可能会因重复内容而受到惩罚。从本质上讲,您正在拆分不同的页面之间的内容值,这将耗尽页面的SEO值。

此问题的常见解决方案是在您的网站上强制执行小写URI。我们将查看使用Apache的实现这一目标mod_rewrite.模块,IIS重写(可在IIS 7和更高版本中使用),以及IIS的ISAPI重写扩展。

apache mod_rewrite模块

首先,我们需要宣布一个Rewritemap.在我们的httpd.conf.文件。httpd.conf文件通常位于:/private/etc/apache2/httpd.conf.。将以下行添加到结尾(或您喜欢的任何位置)的httpd.conf文件。

#添加RewriteMap以重定向到小写URIS<ifmodule.mod_rewrite.c.>Rewritemap.LC int:tolowerifmodule.>

接下来,创建重写将大写URL重定向到小写字母。

rewritecond.%{request_filename}!-Frewritecond.%{request_filename}-Drewritecond.%{request_uri}[A-Z]重写^(。*)$$ {LC:$ 1}[r = 301,l]

让我解释上面的代码的每一行。

  • 第1行:过滤规则,以便不适用于位于服务器上的物理文件
  • 第2行:过滤规则,以便不应用于服务器上的物理目录
  • 第3行:过滤规则,以便仅应用于URI包含大写字母的请求
  • 第4行:使用Rewritemap.我们先前声明在httpd.conf文件中,使用301状态代码(永久重定向)重定向到小写URI,注意到这是应该匹配的最后一个规则。

IIS重写

将以下代码添加到您的web.config.文件位于Web文件夹的根目录中。

<规则名称=“DepartCaserule”StopProcessing =“真实”> <匹配URL =“[A-Z]”IgnoreCase =“假”/> <动作类型=“重定向”URL =“{toolower:{url}}”/> 

Helicon的Isapi重写扩展

我们实际上使用Apache Mod重写(在OS X上开发)和ISAPI重写扩展(适用于Windows服务器)。谢天谢地,两者之间有相当良好的交叉支持。Apache的Mod之间存在一个值得注意的区别重写模块和ISAPI重写扩展名:对于Apache Mod_RewriteRewritemap.必须在服务器(或虚拟主机)级别声明,并且对于ISAPI重写,必须与之声明rewritecond.在您网站的.htaccess文件中。

我们只是将以下代码添加到.htaccess.将所有大写URI请求重定向到小写的文件。

Rewritemap.LC int:tolowerrewritecond.%{request_filename}!-Frewritecond.%{request_filename}-Drewritecond.%{request_uri}[A-Z]重写^(。*)$$ {LC:$ 1}[r = 301,l]

总之,所有方法都很容易实现。唯一的抓住是支持的差异Rewritemap.Apache Mod_Rewrite模块和Helicon的ISAPI重写扩展之间的声明。我希望这有助于您的SEO努力!

Brian F爱

嗨,我是布莱恩。我对类型名称,Angular和node.js感兴趣我嫁给了我最好的朋友邦妮,我住在波特兰和我滑雪(很多)。