如何301 mod_rewrite一次多个相似的URL?

时间:2019-02-16 15:59:38

标签: .htaccess redirect mod-rewrite

我有很多这样的网址:

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文件。当然,必须有一种更简单的方法来按用户名执行此操作?

但是如何?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

尝试:

RewriteEngine on

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

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

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