wordpress 中 wp-login.php 的重定向和 authuser 的 .htaccess 问题

Posted

技术标签:

【中文标题】wordpress 中 wp-login.php 的重定向和 authuser 的 .htaccess 问题【英文标题】:.htaccess issues with redirecting and authuser for wp-login.php in wordpress 【发布时间】:2015-09-02 20:55:00 【问题描述】:

我们切换了域/站点,并将流量从旧站点重定向到新站点,但我们通过 .htaccess 将我们的 Wordpress 博客保留在旧站点上。在 Wordpress 中,我们有另一个 .htaccess 来密码保护“wp-login.php”,但如果它处于活动状态,那么它将请求重定向到我们的新站点。

/home/user/public_html/.htaccess

# -FrontPage-
RewriteEngine on
RewriteCond %REQUEST_URI !^/(blog|blog/wp-admin.php|blog/wp-admin|blog/wp-login.php)
RewriteRule ^.*$ http://www.newwebsite.com/

AuthUserFile /home/user/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/user/public_html/_vti_pvt/service.grp


# Begin password protection #
# End password protection #
...

/home/user/public_html/blog/.htaccess

<Files wp-login.php>
AuthUserFile /home/user/public_html/blog/.htpasswd
AuthName "Private access"
AuthType Basic
require valid-user
</Files>

我如何继续保护 wp-login 并允许它正确重定向?

【问题讨论】:

【参考方案1】:

此配置应该可以工作。您的根目录中的.htaccess 文件首先被处理,如果没有匹配,将重定向到您的新站点。如果未执行重定向并且加载了 /blog/wp-login.php 页面,则您的第二个 .htaccess 文件应处理触发基本身份验证提示。

您的.htaccess 重定向也可以简化,因为您只需要确保URL 路径不以/blog/ 开头。如果没有匹配项,您可以使用 . 匹配项重定向到新站点。

RewriteEngine on
RewriteCond %REQUEST_URI !^/blog/
RewriteRule . http://www.newwebsite.com/

【讨论】:

以上是关于wordpress 中 wp-login.php 的重定向和 authuser 的 .htaccess 问题的主要内容,如果未能解决你的问题,请参考以下文章

PHP Wordpress:通过functions.php自定义wp-login.php

WordPress安全 - 隐藏保护wp-login.php后台登陆入口

wordpress注册收不到邮件

wordpress可以从后台wp-login登录,但是主页侧边栏无法登录

停止 WooCommerce 将 wp-login.php 和 wp-admin 重定向到帐户页面

使用 jquery 在 wp-login 页面中添加段落