如何通过SSLURL和非SSLURL为WordPress提供服务器

时间:2013-05-31 作者:user33565

我有一个标准的wordpress安装,根服务器上的/var/www/blog中没有插件。它使用Apache2、mod\\u rewrite、mod\\u ssl,配置很好,除了Wordpress之外,它可以完美地用于任何东西。

我的htaccess是:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

#RewriteCond %{SERVER_PORT} !^443$
#RewriteRule (.*)  http://%{SERVER_NAME}%{REQUEST_URI}
#RewriteCond %{HTTP_HOST} ^somesite.info [NC]
#RewriteRule (.*) https://somesite.info%{REQUEST_URI} [R=301,L]

RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
有几件事是错误的:

我需要http和https,http://www.https:/www.

 define(\'WP_HOME\',\'http:/somesite.info/blog\');                                                                                                             
 define(\'WP_SITEURL\',\'http://somesite.info/blog\');                                                                                   
如何定义变量,以便支持所有4种可能的URL方案?注释中显示的重写条件使我最终陷入重定向循环。我的Wordpress支持反向代理,所以我假设。htacess的东西不合适。

最佳,ww

2 个回复
SO网友:iyrin

我正在使用一个名为WordPress HTTPS. 如果您仍然打算自己编写一个解决方案,也许您至少可以从中获得一些想法。

SO网友:webaware

阅读关于WordPress is_ssl() not working behind reverse proxies 并安装SSL Insecure Content Fixer 插件,以便您可以轻松测试是否可以根据$_SERVER[\'HTTP_X_FORWARDED_PROTO\']; 查看该插件的FAQ.

如果您不幸被网络解决方案托管,您可以通过安装this simple plugin 并将您的主页和站点URL设置为使用https:全职。

结束