.htaccess htaccess重写带名称的匹配号码

.htaccess htaccess重写带名称的匹配号码,.htaccess,mod-rewrite,redirect,.htaccess,Mod Rewrite,Redirect,我必须重定向一个断开的链接,所以我去了许多重定向生成工具来做这件事,但它们似乎都不起作用 代码如下: Redirect 301 /pages/view-colours/view.php?collection=cottage-garden&colour=fallen-fruit http://www.mynewdomain.com/en-GB/collections/cottage-garden/m/product/view/5/preserve-elements 现在我读了上面的答案

我必须重定向一个断开的链接,所以我去了许多重定向生成工具来做这件事,但它们似乎都不起作用

代码如下:

Redirect 301 /pages/view-colours/view.php?collection=cottage-garden&colour=fallen-fruit http://www.mynewdomain.com/en-GB/collections/cottage-garden/m/product/view/5/preserve-elements
现在我读了上面的答案,但问题是旧链接有产品名称,而新系统使用id(视图/5)


这必须在.htaccess中完成,我是否可以创建一个数组来匹配数字和名称,然后创建一个通用规则来重定向每个产品?或者我必须为每个产品创建重写规则吗?(有很多产品,所以我真的不想这样做)

试试这个它应该适合你:

RewriteEngine On 
RewriteCond %{THE_REQUEST} ^(GET|POST)\ /pages\/view-colours\/view\.php\?collection=cottage-garden&colour=fallen-fruit\ HTTP 
RewriteRule ^ http://www..mynewdomain.com/en-GB/collections/cottage-garden/m/product/view/5/preserve-elements [R=301,L] 

非常感谢这对这个产品来说效果很好,我需要为每个产品做一个重写规则吗,因为我必须将它们与数字匹配?没问题,是的,你不会认为htaccess中有一个数组系统来做你想做的事情。您可以尝试使用您使用的编程语言自动生成此htaccess,并在其中访问数据库谢谢okio,我有点怀疑,但值得一试:(