如何在不同的子域上运行Wordpress管理员?

问题描述 投票:9回答:5

我需要通过https运行Wordpress管理员。我们使用cdn为网站提供缓存内容,但cdn无法接受安全流量(每个IP只允许一个SSL证书,我们会运行几个站点)。我无法控制httpS://www.mysite.com/.的重定向

我想拥有:

http://www.mysite.com/blog/
httpS://secure.mysite.com/blog/wp-admin/
httpS://secure.mysite.com/blog/wp-login.php

我尝试重写网页http://codex.wordpress.org/Administration_Over_SSL#Virtual_Hosts中建议的网址。

假设您可以使用具有不同名称的主机,例如wpadmin.mysite.com

不幸的是,按照建议尝试这个仍然会把我送到httpS://www.mysite.com/blog/login.php

# No matter what it redirects to the wrong subdomain for login.php
http://www.mysite.com/blog/wp-admin/
-> httpS://secure.mysite.com/blog/wp-admin/
-> httpS://www.mysite.com/blog/wp-login.php.

另外当直接转到css文件时仍然链接到错误的URL(。)

简单的解决方案就是在http://blog.mysite.com/blog/上运行博客。不幸的是,这已经尝试过,并且因为SEO的原因而决定反对。

无论如何Wordpress可以做到这一点吗?

php wordpress https
5个回答
1
投票

你看过this thread吗?它是WordPress HTTPS插件的mod。


1
投票

如果你看过这篇文章还不太确定,但是对于基于SSL的Wordpress Admin来说它非常全面。向下滚动到有关虚拟主机的部分,有关于将wp-admin设置为子域的信息。

http://codex.wordpress.org/Administration_Over_SSL


0
投票

如果您使用Apache来提供SSL服务,请查看mod_proxy

使用它,您可以透明地将所有请求从https://secure.mysite.com/blog/重定向到http://www.mysite.com/blog/


0
投票

插件http://wordpress.org/extend/plugins/admin-ssl-secure-admin/正是我追求的。

不幸的是它打破了较新的Wordpress版本:(


0
投票

通过使用纯Apache配置的http://blog.example.com启用https://ssl.example.com/wp-admins/blog/wp-login.php的管理员访问权限,这样您就不必依赖Wordpress插件和更新了...

...在HTTPS apache虚拟主机上使用mod_proxy转发流量,确保ProxyPreserveHost为Off,以便将代理语句中的主机名发送到wordpress服务器。然后使用mod_substitute(确保打开它)来修复从wordpress返回的断开的链接。

<Location /wp-admins/blog/>

  AddOutputFilterByType SUBSTITUTE text/html
  AddOutputFilterByType SUBSTITUTE text/css
  AddOutputFilterByType SUBSTITUTE application/javascript
  AddOutputFilterByType SUBSTITUTE application/json
  Substitute "s|http://blog.example.com|https://ssl.example.com/wp-admins/blog|i"
  Substitute "s|blog.example.com\\\/|blog.example.com\\/wp-admins\\/blog\\/|i"
  Substitute "s|'/wp-admin|'/wp-admins/blog/wp-admin|i"
  Substitute "s|\"/wp-admin|\"/wp-admins/blog/wp-admin|i"
  Substitute "s|'/wp-includes|'/wp-admins/blog/wp-includes|i"
  ProxyPassReverseCookiePath / /wp-admins/blog/

</Location>

ProxyPass /wp-admins/blog/ http://blog.example.com/
ProxyPassReverse /wp-admins/blog/ http://blog.example.com/

要使反向代理生效,您需要指定托管blog.example.com的服务器的内部IP。即使上游服务器(10.0.0.4)具有多个基于名称的虚拟主机,此解决方案也可确保此功能正常运行。

10.0.0.4 blog.example.com

有关详细信息,请参阅:

http://tec.libertar.se/how-to-host-wordpress-admin-on-a-seperate-domain-and-subfolder/

© www.soinside.com 2019 - 2024. All rights reserved.