我有一个WordPress网站和一个自定义网站,当用户导航到特定网址时,会将用户从WordPress网站发送到自定义网站。假设WP主站点位于www.example.com。如果有人转到http://example.com/p/M12345,我们希望将其发送到https://my.example.com/myexample/members/login.html?login=M12345。我认为最好的方法是在.htaccess文件中使用mod_rewrite
我尝试将其设置为主.htaccess文件,但似乎没有任何效果。 www.example.com上的WP网站使用了一个重定向插件,通常可以解决这个问题,但上周它搞砸了我们整个网站,所以我不愿继续使用它。我想使用.htaccess文件,因为这感觉就像是正确的方法。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(\/p\/)([mM]\d{5})$ https://my.example.com/myexample/members/login.html?login=$2 [R=301,L]
</IfModule>
我们尝试过的一些事情:
添加[NC,R = 301,L],[L,QSA]等标志
将RewriteRule更改为Redirect 301并删除了标记
添加RewriteCond ^(/ p /)$认为这只会发生在example.com/p/页面上
使这项工作的正确方法是什么?
答案 0 :(得分:2)
.htaccess中没有匹配前导斜杠,[
之前还有额外的p
。此外,无需转义/
:
RewriteEngine On
RewriteRule ^p/([mM]\d{5})/?$ https://my.example.com/myexample/members/login.html?login=$1 [R=301,L]