ID #1101

如何替换请求URL中的文字

以下解决方案,仅适用于Apache服务器。
 
在.htaccess文件中添加以下语句:
 
RewriteCond  %{REQUEST_URL}  "string1"
 
RewriteRule  "(.*)"string1(.*)"  "$1string2$2"  [N,PT]
 
例如当客户端发出请求URL:example.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?

作者:网站优化,SEO,危机公关