Php htaccess重定向模式不工作

Php htaccess重定向模式不工作,php,.htaccess,redirect,prestashop-1.5,Php,.htaccess,Redirect,Prestashop 1.5,我在htaccess文件中使用以下代码 Redirect 301/([0-9]{1,2})+([A-Za-z])$/brand/$1-$2 要重定向以下类型的URL模式: www.mywebsite.com/{ID}{BrandName} 所以基本上我必须改变方向 www.mywebsite.com/{ID}{BrandName}至www.mywebsite.com/brand/{ID}-{BrandName} 例如:将301重定向至www.mywebsite.com/5_TestBrand至w

我在htaccess文件中使用以下代码

Redirect 301/([0-9]{1,2})+([A-Za-z])$/brand/$1-$2

要重定向以下类型的URL模式:

www.mywebsite.com/{ID}{BrandName}

所以基本上我必须改变方向

www.mywebsite.com/{ID}{BrandName}至www.mywebsite.com/brand/{ID}-{BrandName}

例如:将301重定向至
www.mywebsite.com/5_TestBrand至www.mywebsite.com/brand/5-TestBrand

请建议

以下是htaccess代码,该代码不起作用:

Redirect 301/([0-9]{1,2})+([A-Za-z])$/brand/$1-$2

请导游


谢谢

确保在htaccess的顶部打开了重写引擎

RewriteEngine on
那么,它不应该看起来更像这样吗:

RewriteEngine on
RewriteRule ^(.*)/([0-9]+)_([A-Za-z])$ /$1/brand/$2-$3 [R=301,NC,NE,L]
或许:

RewriteEngine on
RewriteRule ^([0-9]+)_([A-Za-z])$ /brand/$1-$2 [R=301,NC,NE,L]

诸如此类,我总是要摆弄htaccess来完善它。

您不能在
重定向
指令中使用正则表达式和捕获的组。改用
redictmatch

RedirectMatch 301 ^/([0-9]+)_([A-Za-z]+)/?$ /brand/$1-$2

谢谢Kevin,但是代码都不起作用:(我必须将www.mywebsite.com/5_TestBrand重定向到www.mywebsite.com/brand/5-TestBrand谢谢先生..我在等你:-)。代码仍然不起作用。这就是我使用的:1)RedirectMatch 301^/([0-9]+)+([A-Za-z])/?$/brand/$1-$2)RedirectMatch 301^([0-9]+)([A-Za-z])?$/brand/$1-$2我必须将www.mysite.com/5_action重定向到www.mysite.com/brand/5-action你太棒了,先生!成功了!非常感谢:)先生,你的解决方案奏效了!但是,任何将www.mysite.com/6_action-kids重定向到www.mysite.com/brand/6-action-kids的建议……这一个非常有效……我只是添加了另一个重定向匹配RedirectMatch 301^/([0-9]+)([A-Za-z]+)-([A-Za-z]+)/?$/brand/$1-$2-$3,它成功了!谢谢