我使用WordPress创建了一个新的Apache24安装程序(在FreeBSD上,而不是在FreeBSD上),比如使用maindomain.com
。我创建了一个SSL证书,让我们加密,一切正常工作,DNS指向我的服务器的IP。
然后,我使用子目录启用了Multisite功能。我创建了另一个网站,位于https://maindomain.com/site1
。一切正常工作,与不同的网站使用我安装和激活的两个不同的主题。
我还为site1.com
创建了另一个SSL证书,并将该url的DNS指向我服务器的IP。
我已经设置了两个单独的Apache配置文件,每个虚拟主机一个,每个文件指向各自的SSL证书文件(位于不同的目录中)。此时,一切都正常工作(主站点和子目录中的第二个站点)。
现在我无法让site1.com
正确工作。当我转到site1的站点管理页面,进入info选项卡并将Site Address (URL)
更改为site1.com
时,导航到site1.com
将我重定向到maindomain.com
。
我的.htaccess文件是标准的:
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]
我的Apache配置文件(在站点中可用,并与启用站点的符号链接)也是相当标准的:
ServerName www.site1.com
ServerAlias site1.com
SSLEngine on
SSLCertificateFile "/usr/local/etc/letsencrypt/live/site1.com/cert.pem"
SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/site1.com/privkey.pem"
SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/site1.com/fullchain.pem"
SSLOptions +StdEnvVars
BrowserMatch "MSIE [2-5]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
CustomLog "/var/log/httpd-ssl_request.log" "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
ErrorLog "/var/log/site1.com.ssl-error.log"
CustomLog "/var/log/site1.com.ssl-access_log" combined
ServerName www.site1.com
ServerAlias site1.com
Redirect permanent / https://site1.com/
发布于 2018-07-18 22:12:40
我强烈怀疑这与我需要清理缓存和cookie有关。我也非常肯定,您不能使用独立生成的SSL证书。
最后,我在任何地方禁用SSL,让站点正确地映射到URL,生成证书(首先在手动模式下,然后在webroot模式下),然后再次启用SSL。
https://wordpress.stackexchange.com/questions/308939
复制相似问题