Php 301重定向在我的情况下不起作用

Php 301重定向在我的情况下不起作用,php,regex,apache,.htaccess,mod-rewrite,Php,Regex,Apache,.htaccess,Mod Rewrite,我有一个旧的url: 过了一段时间,我在url中做了一些更改(为了正确的url重写),它变成了 对新url(更改的url)的url重写已成功完成 但问题是,我如何从旧url重定向301(通过htaccess) 到 新网址 我试了很多次,但都失败了1.我该怎么办? 救命。。任何人 谢谢 您可以使用此规则: RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+search\.php\?id=([^&]*)&name=([^\s&]+)

我有一个旧的url:

过了一段时间,我在url中做了一些更改(为了正确的url重写),它变成了

对新url(更改的url)的url重写已成功完成

但问题是,我如何从旧url重定向301(通过htaccess)

新网址

我试了很多次,但都失败了1.我该怎么办? 救命。。任何人

谢谢

您可以使用此规则:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+search\.php\?id=([^&]*)&name=([^\s&]+) [NC]
RewriteRule ^ /%2-%1? [R=301,L]

确保在所有其他规则之前插入此规则

请稍候!如果您的URI是/search.php?name=amit&id=12(或者id=12&name=amit,它们是相同的),.htaccess URL重写不会将其转换为/amit-12(您的php无法使用它)。您可以做的是获取/amit-12的传入URI并将其重写为/search.php?name=amit&id=12。这就是你在做的吗?如果是,请使用正确的术语。