htaccess 301从旧网站到新网站

时间:2012-09-14 13:28:18

标签: .htaccess

我有一个客户端域,其中有数千个页面正在转移到新域。 .html的命名约定已经改变,我知道htaccess可以以某种方式处理它。

以下是一个例子:

旧网站: http://oldsite.com/state/cityname-index.html

新网站: http://newsite.com/state/computer-support-cityname-index.html

目前这超出了我的理解范围。我会感激一点帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

如果您想将旧网站页面重定向到新网站页面,可以使用这样的重写:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^oldsite.com$ [NC]
RewriteRule ^([^/]+)/(.+)-index\.html$ http://newsite.com/$1/computer-support-$2-index.html [QSA,R=301]

第一行激活htaccess中的重写。

第二个检查当前请求是否针对旧网站。

如果是,则激活第三行,其中包含一个正则表达式和一个新的重定向链接,如果该正则表达式匹配,则最后的[QSA,R=301]是会影响重写规则的标志。 / p>

我写给你的这个规则捕获状态(第一个括号)和城市名(第二个括号),然后它重定向到新网站替换$ n(其中n是前面的括号的数字)内容。

QSA 标志(查询字符串追加)将旧网站请求中的任何参数添加到新生成的请求中。

R = 301 标志将生成一个代码为301的浏览器重定向(永久重定向)。

有关mod_rewrite的更多信息,请参阅http://httpd.apache.org/docs/current/mod/mod_rewrite.html