浅析 URL 重写的相关优化问题

张子凡 网站SEO优化 2012-06-19 08:32:36 阅读(...) 评论(0)

泪雪觉得有必要写下有关于 URL 重写的相关优化,相信有不少站长朋友们会遇到网站改版或是换源码时,对于去以前搜索引擎已经收录的网页,就不忍心抛下,那么怎么办呢?请问下看

一、改版时,如何保留原链接,创建新的 URL?

具体操作办法(仅适用于 apache 网络服务器):
文件位置:apache->conf->httpd.conf
请在 httpd.conf 中使用 Alias 指令:
Alias /newurl /www/htdocs/oldurl
如:用户访问新的地址 example.com/newurl/id11.html  服务器将提供的内容原地址是 domain.com/www/htdocs/oldurl/id11.html。

注意:Alias 只会改变本地 URL,如 leiue.com/newurl/id11.html 的/newurl/id11.html 部分,而无法改变 URL 的主机名称部分(如:http://www.leixue.com/部分)。若要更改 URL 的主机名称部分,请使用 Redirect 或 RewriteRule 指令。
菜鸟指南:本功能的 Alias 指令在 httpd.conf 中是这一句:  #Alias /webpath /full/filesystem/path 去掉前面的#,并做下相应的修改即可。

SEO 过程中一般在这些情况下需要用到该功能:
1、当文件移动或文件目录名称发现改变,出于 SEO 需要,你需要保持旧的 URL;
2、网站改版了,网站导航和链接发生变化,为了继续持有原链接带来的流量,你需要保持旧的 URL;
3、你希望不同的人用不同 URL 来链接同一个的内容。(SEO 一般不建议这样做)等等。。
二、如何替换请求 URL 中的文字

以下解决方案,仅适用于 Apache 服务器。
在.htaccess 文件中添加以下语句:
RewriteCond   %{REQUEST_URL}   “string1”
RewriteRule   “(.*)”string1(.*)”   “$1string2$2”   [N,PT]

例如当客户端发出请求 URL:domain.com/string1/abcstring1.html,则转换为目标 URL:example.com/string2/abcstring2.html。其中[N]标记告诉 Apache 重新执行重写规则,直到 RewriteCond 失效为止。只要请求 URL 中包含需要替换的字符串,它就会一直重复地执行。当所有的 string1 都被替换完毕,则 RewriteCond 失效。本例子中,RewriteCond 执行了 2 次。[PT]告诉 mod_rewrite 把重写的 URL 传送到 Apache 来进行接下来的处理工作。
我们都知道,关键字是否在 URL 中对于网站 SEO 至关重要。对于建站初期不注重 SEO 的站点,特别是大型站点,本功能真是雪中送炭。
注意:使用本功能时,有时会把非目标字符也做了修改,假如例子中的“abcstring1”不是目标字符,但这个功能也会替换了它。 当然,你或许可以通过这个功能获得另外的启发
URL 大多站长并不是很看重,但是要想把网站做好,那么网站相同的内容就只能有一个链接,相同的内容出现两遍就造成了复制内容,搜索引擎很容易判断出来的,如果相同内容过多,网站甚至有可能被搜索引擎惩罚,严重的将直接删除网站。URL 的重定向优化做好了就是对搜索引擎的友好表现,做错了,带来的后果也不是一般的。大家视乎应该重视自己网站的 URL 了呢?特别是哪些曾经大量改版的网站。

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

本文链接:https://zhangzifan.com/url-rewrite.html

留言评论

登录 后留言