2011-09-24 164 views
3

嗨,我是不是由任何发挥想象力的程序员,我试图基于以下做多301重定向在我的htaccess文件:的.htaccess重定向子文件夹

所以我有一吨的网址都具有类似的命名约定 - 这里是2

http://www.hollandsbrook.com/garrett-at-gold/ 
http://www.hollandsbrook.com/garrett-ace-250/ 

这些网址需要重定向到一个样本:

http://www.hollandsbrook.com/garrett-metal-detectors/garrett-at-gold/ 
http://www.hollandsbrook.com/garrett-metal-detectors/garrett-ace-250/ 

我可以重定向他们1线的时间,但我喜欢使用正则表达式。

这里是我至今想,但不工作:

重写规则^加勒特 - ([AZ])/ $ /加勒特金属探测器/ $ 1/[R]

基本上我需要将任何页面从以“garrett-”开头的根目录重定向到包含“garrett-metal-detectors”文件夹路径。

任何想法将非常赞赏。非常感谢您的帮助。

回答

0

我是不是正则表达式的专家,但看起来像你的REG前可能有点过......

尝试:

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^((garrett)(-[a-z0-9]).*)/$ /metal-detectors/$1/ [R] 

这来回寻找开头的任何内容“加勒特“后面加上任何字母/数字/连字符组合。

注:具有在目标部分“加勒特贝尔”给你重定向循环,所以你可能要选择不同的字或删除它一起...如果你想temprorary重定向使用

6

RewriteRule ^garrett\-([a-z0-9\-]+)/?$ /garrett-metal-detectors/garrett-$1/ [R=302,L] 
如果你想永久重定向使用

RewriteRule ^garrett\-([a-z0-9\-]+)/?$ /garrett-metal-detectors/garrett-$1/ [R=301,L] 
+0

活计,你摇滚!我意识到我不想重定向类别页面(garrett-metal-detectors),所以我对你的代码做了轻微的修改: ewriteRule^garrett \ - ([a-ln-z \ - ] +)/?$/garrett-metal-detectors/garrett- $ 1/[R = 301,L] 再次感谢! – user962876

+0

你走了!你欢迎 –

+5

马甲回答如何? – Tech4Wilco

相关问题