我自定义WordPress登录页面。这就是我想要实现的目标:
/wp-login.php → /login
/wp-login.php?action=register → /login?action=register
/wp-login.php?action=logout&_wpnonce=eaea03899c → NOT redirected
我无法重定向注销链接,因为/ login不会将用户注销,只有wp-login.php能够这样做。
我如何实现上述目标?谢谢!
答案 0 :(得分:0)
这可能就是你所需要的。它会将所有wp-login.php?query=string
重定向到/login?query=string
,除非查询字符串中存在action=logout
。 (另外,假设您希望保持查询字符串不变,而不是更改它。)
RewriteEngine On
RewriteCond %{QUERY_STRING} !action=logout [NC]
RewriteRule wp-login.php /login [L,R=301]
更新:以下是重定向wp-login.php
和wp-login.php?action=register
的规则。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^action=register$ [NC]
RewriteRule wp-login.php /login [L,R=301]
RewriteRule ^wp-login.php /login [R=301,L]
请注意,转发wp-login.php?action=register
的规则仅在网址为wp-login.php?action=register
时才有效。如果有任何其他查询参数,它将无法工作。如果您希望它在URL中存在action=register
时工作,而不考虑任何其他参数或其位置,请使用此规则:
RewriteCond %{QUERY_STRING} action=register [NC]
RewriteRule wp-login.php /login [L,R=301]