1

好的。希望有人可以帮助我提出建议-

  1. 我有一个使用子文件夹的 WordPress 多站点
  2. 我正在使用 WooCommerce
  3. 我有一个安装了 GoDaddy 证书的标准 Ubuntu 12.04/LAMP 服务器

如果它打开 SSL,它会影响我的整个域(显然)所以我的主站点最终为:' https://main-sitename.com '

我的多站点博客也出现: https://main-sitename.com/blogname-1 https://main-sitename.com/blogname-2

等等。我所有的菜单链接也是 https,它会禁用外部链接,因为 url 都以 https 开头。:-/

我想做的是得到这个:

http://main-sitename.com http://main-sitename.com/blogname-1 http://main-sitename.com/blogname-2

https://main-sitename.com/shop/(WooCommerce 将在结帐时强制使用 HTTPS,然后在完成后取消强制执行)。

  • 那么,有人对我如何解决这个问题有任何想法吗?有趣的是,当我在 Rackspace 云站点上拥有完全相同的站点时,一切正常。当我搬到一个自我管理的云服务器时,这发生了。有什么我错过的吗?
4

1 回答 1

0

听起来好像为整个服务器设置了 SSLRequireSSL。因为您只想在 /shop/ 目录上强制执行 HTTPS。在该目录中添加一个 .htaccess 文件,其中包含:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

这将强制使用 http:// 连接到您的商店的任何人被重定向到相同的 URI,但在 https://

编辑 2

这对我有用(将 www.myserver.com 更改为我的真实服务器名称)。我在 WP 中使用日期和名称永久链接。我一访问http://www.myserver.com/shop/就会被重定向到 https。它保留了 URI。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
# Addition to force redirect to https when they visit the shop!
RewriteBase /
RewriteCond %{HTTPS} !on
RewriteRule (shop/.*$) https://www.myserver.com/$1 [R=301,L]
# Back to WordPress changes
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
于 2013-01-25T04:25:37.177 回答