使用通配符通过htaccess重定向301

时间:2019-11-27 09:25:45

标签: .htaccess redirect user-profile

我希望我正确地问了这个问题,如果不是,请随时纠正我。

例如,我正在尝试通过htaccess文件为同一站点内的所有用户配置文件重定向301。第一部分显示了我想要重定向的实际URL,但这仅针对一个用户帐户。

Redirect 301 /otsn/members/admin/my-orders/ /otsn/members/admin/shop/

我在考虑是否可以使用百分比符号使此重定向对所有用户通用,也许我错了,我可以执行以下操作吗?

Redirect 301 /otsn/members/%/my-orders/ /otsn/members/%/shop/

我创建了一个更好的具有更多功能的用户个人资料商店标签,因此,我希望摆脱旧的用户个人资料商店标签,以防万一有人尝试通过手动输入网址来输入该个人资料页面标签的旧版本,我希望他们发送到其个人资料商店页面的新版本,但我希望系统中的每个用户个人资料都会发生这种情况。

这是正确的方法吗?还是有一种更好,更有效的方法?

谢谢

1 个答案:

答案 0 :(得分:1)

您可以在.htaccess或Apache配置中将此规则用作最高规则

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/([\w-]+)/members/([\w-]+)/my-orders/?$ [NC]
RewriteRule ^ /%1/members/%2/shop [L,R=301]

%1是对我们在RewriteCond中捕获的第一个值的后向引用,即(...)中的第一个模式,而%2表示{{ 1}}。