如何替换请求URL中的文字?
如何替换请求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?