我正在尝试重写网址的一部分,因为我更改了CMS并仍希望Google找到我的文章。
我有:
www.mywebsite.com/vision
www.mywebsite.com/vision/40/some-article-name
并想重命名:
www.mywebsite.com/news
www.mywebsite.com/news/40/some-article-name
有关重写规则或我可以查看的任何提示吗?我想更改.htaccess文件中的规则。
答案 0 :(得分:2)
# Activate Rewrite Engine
RewriteEngine On
# redirect /vision to /news
RewriteRule ^vision$ http://www.mywebsite.com/news [R=301,NC]
# redirect /vision/bla-bla to /news/bla-bla
RewriteRule ^vision/(.*)$ http://www.mywebsite.com/news/$1 [R=301,NC,QSA]
理论上(实际上)可以组合这两个重写规则,但是如果你的URL以“vision”开头(例如:/visions/hurray
),那么这样的规则可能会重定向错误的URL。因此,我通过2个更安全的规则来完成它。
答案 1 :(得分:0)
尝试:http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
或:http://httpd.apache.org/docs/2.2/mod/mod_substitute.html
如果您想更改返回浏览器的html内容中的链接。
以下是我如何进行重写的一个示例,我认为你是在追求......
RewriteRule ^(。)/ vision /(.)$ $ 1 / news / $ 2
这可能是广泛的重写范围,在这种情况下,这可能会更好......
RewriteRule http://www.mywebsite.com/vision/(.*)$ http://www.mywebsite.com/news/$1
同时学习正则表达式的基础知识将是进行任何复杂重写IMO所需的技能。
希望有所帮助。