Php 多页301重定向多页到1页

Php 多页301重定向多页到1页,php,.htaccess,redirect,Php,.htaccess,Redirect,我有一个有数百种产品和许多页面的网站,我用这个规则重定向了所有页面 Redirect permanent /about-us/ http://www.domain.com/wedding-blog/about 重定向永久/关于我们/http://www.domain.com/wedding-blog/about 但现在我需要将我的所有产品重定向到另一个域页面,所有产品链接,如下所示 /shopping/category.php?c=009591 /购物/category.php?c=009591

我有一个有数百种产品和许多页面的网站,我用这个规则重定向了所有页面

Redirect permanent /about-us/ http://www.domain.com/wedding-blog/about 重定向永久/关于我们/http://www.domain.com/wedding-blog/about 但现在我需要将我的所有产品重定向到另一个域页面,所有产品链接,如下所示

/shopping/category.php?c=009591 /购物/category.php?c=009591
他们是否可以在一个重定向规则中将/shopping/下的所有我的产品重定向到另一个域购物页面?

您必须使用
mod\u rewrite
规则来匹配查询字符串,并且是否最好将较早的规则转换为
mod\u rewrite

RewriteEngine On

RewriteRule ^about-us/?$ /wedding-blog/about [NC,L,R=301]

RewriteCond %{QUERY_STRING} ^c=009591$
RewriteRule ^category\.php$ /some-page? [NC,L,R=301]
这应该起作用:

RewriteEngine On

RedirectMatch 301 ^/shopping/(.*) http://example.com/shopping/
它将把
/shopping/
中的任何内容重定向到
example.com/shopping/

编辑:


谢谢你,我使用了这个并为我工作,唯一的问题是我发现所有重定向的URL都以?c=page\u name结尾,他们有没有办法删除这个并只显示干净的重定向URL?所以你不希望
category.php?c=somenumber
出现在新的URL上?是的,我不希望“?c=anything”,我只想显示新的url从url中删除
$1
就可以了。先生,我已经删除了$1并使用了RedirectMatch 301^/shopping/(*)
RewriteRule ^shopping/(.*)$ http://example.com/shopping.html? [R=301,L]