.htaccess 301重定向变量

时间:2012-09-26 10:40:44

标签: .htaccess redirect http-status-code-301

我正在升级将使用新链接的网站。可以从旧URL中找出新的URL,因此我想在.htaccess中创建几个301条目来转发旧链接。

我知道这是可能的

Redirect 301 /orginalURL.html http://website.com/newURL.php

但是我需要使用旧网址的一部分来构建新网址。这可能吗? 示例旧网址

/index.php?page=/shop/bcat&c=47

而应该是

/se/category/47

在这种情况下,47是我需要从旧URL到新URL的密钥。此外,我不能指望/index.php存在于所有旧链接中,因此它们可能看起来像/?page = / shop / bcat& c = 47 同样。

任何能够在这里帮助我的人我都可以自己找出其余的重定向:)

1 个答案:

答案 0 :(得分:4)

您需要使用mod_rewrite来匹配查询字符串。在文档根目录中的htaccess文件中尝试这样的事情:

RewriteEngine On
RewriteCond %{QUERY_STRING} page=/shop/bcat&c=([0-9]+)
RewriteRule ^/?(index.php)?$ http://website.com/se/category/%1? [L,R=301]