我已经在本地使用Apache和虚拟主机(通过导出/导入数据库)移动了一个远程WordPress网站。问题是几乎我所有的资产都重定向到新域的HTTPS版本。
我在wp-config中有这个:
$url = 'http://newdomain.test';
define( 'WP_HOME', $url );
define( 'WP_SITEURL', $url );
以及functions.php中的此:
$url = 'http://newdomain.test';
update_option( 'siteurl', $url );
update_option( 'home', $url );
这是.htaccess
:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我已经安装了替换数据库插件,并将所有https
替换为http
。
在生成的HTML中,我使用了正确的URL(例如http://.....
),但是在控制台中,我看到相同的资源无法通过https://...
加载。最后,它们没有加载。
如果我尝试在浏览器中访问这些资产,则没有重定向。
没有缓存或HTTP到HTTPS插件。
我已经尝试过并在.htaccess中使用它:
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=0; includeSubDomains; preload" env=HTTPS
</IfModule>
Chrome,Firefox,IE也是如此。缓存已清除。
我过去经历过类似的事情。
最终,我知道我的站点上安装了一些插件,该插件强制使用HTTPS来将URL从HTTP即时替换为HTTPS。
我建议您检查是否安装了任何此类插件,或者也检查必备插件和嵌入式插件。
如果没有找到任何内容,请检查性能或安全性插件,这些插件很可能提供从HTTP重定向到HTTPS的选项。
我希望有帮助。谢谢