WordPress页面的mod_rewrite似乎不起作用

时间:2016-09-06 19:59:09

标签: wordpress apache .htaccess mod-rewrite

我有一个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/页面上

使这项工作的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

.htaccess中没有匹配前导斜杠,[之前还有额外的p。此外,无需转义/

RewriteEngine On
RewriteRule ^p/([mM]\d{5})/?$ https://my.example.com/myexample/members/login.html?login=$1 [R=301,L]