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

.htaccess 使用通配符通过htaccess重定向301,.htaccess,redirect,user-profile,.htaccess,Redirect,User Profile,我希望我问的问题是正确的,如果我没有,请随时纠正我 我正试图通过htaccess文件重定向301,用于同一站点内的所有用户配置文件,例如。第一部分显示了我想从何处重定向到何处的实际URL,但这里只关注1个用户帐户 Redirect 301 /otsn/members/admin/my-orders/ /otsn/members/admin/shop/ 我在想,我可以使用百分比符号使这个重定向通用于所有用户吗?也许我错了,我可以做以下事情吗 Redirect 301 /otsn/members/

我希望我问的问题是正确的,如果我没有,请随时纠正我

我正试图通过htaccess文件重定向301,用于同一站点内的所有用户配置文件,例如。第一部分显示了我想从何处重定向到何处的实际URL,但这里只关注1个用户帐户

Redirect 301 /otsn/members/admin/my-orders/ /otsn/members/admin/shop/
我在想,我可以使用百分比符号使这个重定向通用于所有用户吗?也许我错了,我可以做以下事情吗

Redirect 301 /otsn/members/%/my-orders/ /otsn/members/%/shop/
我创建了一个更好的具有更多功能的用户配置文件商店选项卡,因此我希望摆脱旧的一个,如果有人试图通过手动输入url来输入该配置文件页面选项卡的旧版本,我希望将他们发送到新版本的配置文件商店页面,但我希望系统中的每个用户配置文件都会发生这种情况

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


谢谢

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

RewriteEngine On

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

%1
是我们在
RewriteCond
中捕获的第一个值的反向引用,即
(…)
中的第一个模式,同样的
%2
将表示
(…)

中捕获的第二个值是的,我很抱歉,我正在修复它。它们都在otsn目录中。我修复了第二组代码上的目录,它被错误地省略了。它们都在OTSN目录中。这会改变你的代码吗?我已经在我的规则中考虑过了。按照我写的方式进行测试并让我知道。我是否按照你写的方式使用百分比后的数字?当我将站点迁移到根文件夹时,这仍然有效吗?或者我需要省略%1吗?谢谢是的,当我使用site root.htaccess时,规则将不同。第一行是:
RewriteCond%{REQUEST_URI}^/members/([\w-]+)/my orders/$[NC]
第二行是:
RewriteRule^/members/%1/shop[L,R=301]