2017-05-09 136 views
0

我有我的wordpress通过代理设置。在我的主网站的URL是https://DOMAIN/blogWordPress的管理员在子目录重定向无子目录

这里是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和404(因为https://DOMAIN/wp-admin不是代理)

这里是我的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的.htaccess关于我能想到改变的每一种方式(设置RewriteBase/blog /,混淆我的重定向规则,以及其他一些事情)。

感谢您的帮助!

+0

你RewriteBase是错误的。添加您的文件夹。应该是RewriteBase /博客 –

+0

我试过了,根本没有帮助 –

回答

1

你在你自己的意见已经解决: “(因为DOMAIN /可湿性粉剂管理员是不是代理)”

WP-管理区是在其自己的域的子文件夹,因此必须使用代理。 或者您必须告诉您的代理将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文件)