首页 > 解决方案 > 如何一次 301 mod_rewrite 许多相似的 URL?

问题描述

我有很多这样的网址:

https://www.url.com/user/shop/location/scoobydoo

它们都以相同的开头,但结尾的用户名不同。我正在尝试将它们全部重定向 301 到:

https://www.url.com/profile-scoobydoo

如果我使用,这有效:

RewriteCond %{HTTP_HOST} www\.url\.com$
RewriteCond %{REQUEST_URI} ^\/user\/shop\/location\/scoobydoo$
RewriteRule .* https://www.url.com/profile-scoobydoo [R=301,L]

问题是,我有几千个用户,虽然生成它们都可以工作,但它会完全淹没 .htaccess 文件。当然必须有一个更简单的方法来通过用户名做到这一点?

但是怎么做?任何帮助是极大的赞赏。

标签: .htaccessredirectmod-rewrite

解决方案


尝试 :

RewriteEngine on

RewriteRule ^user/shop/location/(.+)$ https://example.com/profile-$1 [L,R=301]

您还可以使用RedirectMatch指令进行 url 重定向

RedirectMatch 301 ^/user/shop/location/(.+)$ https://example.com/profile-$1 

推荐阅读