我最近更改了域名,新网站有不同的永久链接结构。我不想将旧网站的所有内容重定向到新网站,而是设置.htaccess将旧网址重写为查询字符串,以便找到所请求的网页,而无需将其输入搜索新网站
例如:
www.oldsite.com/projects/2010/foo-bar-foobar应重定向至www.newsite.com/?s=foo+bar+foobar
旧的永久链接结构始终以一年(4位数)开头,新结构完全不同,所以我认为重定向到搜索查询将是最好的选择。
我试图了解正则表达式,但我无法接近有效的解决方案。
我希望有人能指出我正确的方向。
谢谢!
答案 0 :(得分:1)
我总是在第一时间搞这些,但你可以试试这个(在www.oldsite.com上的.htaccess):
RewriteRule ^/?projects/[0-9]+/(.*)$ http://www.newsite.com/?s=$1 [R]
在英语中,这匹配旧站点上以可选斜杠开头的URL,后跟单词“projects”,然后是另一个斜杠,然后是一个或多个数字,然后是斜杠,然后是任意数量的字符。它重定向到新站点,将最后一组“任意数量的字符”作为查询字符串传递。最后一个“R”告诉重写引擎向用户代理发出重定向。