在wordpress中将http://替换为https://

blmhpbnm  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(343)

随着google对网站上的https越来越挑剔,我希望能够做一个快速简单的sql查询来搜索和替换任何东西 http://https:// 对于移动主机,我通常会执行以下操作:

UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl','http://www.newurl');

所以我试着

UPDATE `wp_commentmeta` SET 'meta_value' = REPLACE(`meta_value`, 'http://', 'https://');

但似乎不起作用。不管怎样,一次完成整个数据库?
我试过几种s.o.f.的方法,但都不管用。
我不想安装一个插件作为“补丁”
如果有mysql或htaccess脚本,我对这些解决方案更感兴趣。

ig9co6j1

ig9co6j11#

如果您有权编辑 .htaccess 文件中,可以添加以下内容:

RewriteEngine on

# force SSL

RewriteCond     %{SERVER_PORT} ^80$
RewriteRule     ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

上面的代码将使用301重定向(永久),如果不想使用301重定向,只需将最后一行的最后一节改为 [L,R=301][L,R] .
如果您想更彻底地替换sql,通常可以在 posts table里面 guid 专栏(特色图片)和 post_content 列(反向链接等)。当然,也在 post_meta 表- meta_value 列和 home / siteurl 在你的 options table。下面是我通常使用的sql查询:

UPDATE wp_options SET option_value = replace(option_value, 'http://example.com', 'https://example.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = REPLACE (guid, 'http://example.com', 'https://example.com');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://example.com', 'https://example.com');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://example.com','https://example.com');
pgpifvop

pgpifvop2#

您可以尝试wp cli或从interconnect/it搜索replace db。
如果使用后者,则可以在替换url后删除文件夹。

相关问题