如何替换请求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?
相关阅读 >>
更多相关阅读请进入《URL》频道 >>