301重定向htaccess-保留一个url参数,删除其余参数并更新URL

时间:2020-10-27 20:48:00

标签: regex apache .htaccess redirect mod-rewrite

我正在尝试创建一些301重定向规则,但是对语法的理解使其无法正常工作。我已经看到了很多示例,但是无法使我的具体案例起作用。

旧网址示例:

/new-products-display.cfm?asset=ION2810040N&c=ION&s=281

重定向到新的URL结构以及资产参数(删除其他查询参数)

https://example.com/inventory/product-display/?asset=ION2810040N

以下是我目前的最佳尝试,但我无法使其正常工作。

RewriteCond %{QUERY_STRING} ^asset=([^&]+)&c=([^&]+)&s=([^&]+)$ [NC]
RewriteRule ^(.*)$ /inventory/product-display/%1? [R=301,L,NE]

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您可以使用以下规则:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^(asset=[^&]+)(?:&|$) [NC]
RewriteRule ^new-products-display\.cfm$ /inventory/product-display/?%1 [R=301,L,NE,NC]

请务必在清除浏览器缓存后对其进行测试。