如何从旧格式重定向到新格式

时间:2015-04-13 12:30:15

标签: .htaccess redirect

我正在尝试配置我的htaccess文件以处理我们的新url格式。我知道htaccess文件正在运行。我试图调整什么是无效的。

我有大约1200个看起来像这样的链接......

http://www.flyingpiston.com/bike/1014/
http://www.flyingpiston.com/bike/1015/
http://www.flyingpiston.com/bike/1016/
http://www.flyingpiston.com/bike/1017/

新链接看起来像这样......

http://www.flyingpiston.com/bikes.cfm?id=1014
http://www.flyingpiston.com/bikes.cfm?id=1015
http://www.flyingpiston.com/bikes.cfm?id=1016
http://www.flyingpiston.com/bikes.cfm?id=1014

这是我设定的规则......

RedirectMatch 301 ^bike/([0-9]+)/ /bikes.cfm?id=$1 [NS,L]

规则有明显的错误吗?如何编写一条规则,使我能够将旧样式链接重定向到新样式链接?

1 个答案:

答案 0 :(得分:2)

RedirectMatch指令不带任何标志,因此[]位需要消失:

RedirectMatch 301 ^bike/([0-9]+)/ /bikes.cfm?id=$1

但是当有人打字时,其他人看起来很适合重定向:

http://example.com/bike/1234/

在浏览器的地址栏中将其更改(重定向)为:

http://example.com/bikes.cfm?id=1234

这也假设您正在使用apache,并且该指令位于文档根目录中的htaccess文件中。