子目录中的Wordpress管理重定向没有子目录

时间:2017-05-09 17:43:47

标签: php wordpress apache .htaccess proxy

我通过代理设置了wordpress。我的主网站上的网址是https://DOMAIN/blog

以下是为我的代理设置的apache:

 SSLEngine on
 SSLProxyEngine On
 SSLProxyVerify none
 SSLProxyCheckPeerCN off
 SSLProxyCheckPeerName 
 SSLProxyCheckPeerExpire off
 ProxyRequests Off
 ProxyPreserveHost On
 <Proxy *>
         Order deny,allow
         Allow from all
 </Proxy>
 ProxyPass /blog/ https://104.xxx.xx.xx/
 ProxyPassReverse /blog/ https://104.xxx.xx.xx/

这工作正常。当我转到https://DOMAIN/blog时,它代表我https://104.xxx.xx.xx,因为它应该

wordpress的前端实际上完美无缺,完全没有问题。

当我转到https://DOMAIN/blog/wp-admin时,问题在于管理员。它登录确定,但它会将我重定向到https://DOMAIN/wp-admin和404s(因为https://DOMAIN/wp-admin未被代理)

这是我的.htaccess for 104.xxx.xx.xx

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>

我已经尝试过改变.htaccess关于我能想到改变的每一种方式(设置RewriteBase / blog /,弄乱我的重定向规则,以及其他一千种东西)。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您已在自己的评论中找到解决方案: &#34;(因为DOMAIN / wp-admin不代理)&#34;

wp-admin区域本身就是域子文件夹,因此必须代理。 或者您必须告诉您的代理将DOMAIN / wp-admin的所有请求重建为DOMAIN / blog / wp-admin。

您对博客计算机上的.htaccess所做的更改无效,因为对DOMAIN / wp-admin的请求未被代理,也从未到达您的博客服务器。

我刚刚发现了一个更优雅的答案,我想分享Bukky: WordPress, nginx proxy and subdirectory: wp-login.php redirects to domain

(编辑wp-config.php的那个)