通信更新 数据库替换 url 内网外网访问,相对路径,多域名绑定
- Wordpress建设
- 2018-09-28
- 93热度
- 0评论
使用Nginx反向代理Apache下的WordPress,并开启全站HTTPS访问,https://jpeng.xyz/?p=181
使用Nginx反向代理Apache下的WordPress并开启全站HTTPS访问
到mysql里面,执行数据库一些表记录的更新操作。
USE wp_app_abcba;
UPDATE wp_posts SET post_content = replace( post_content, 'http://app.abcba.club','https://app.abcba.club');
UPDATE wp_comments SET comment_content = replace( comment_content, 'http://app.abcba.club','https://app.abcba.club');
UPDATE wp_comments SET comment_author_url = replace( comment_author_url, 'http://app.abcba.club','https://app.abcba.club');
UPDATE wp_options SET option_value = replace( option_value,'http://app.abcba.club','https://app.abcba.club');
http://www.taijicoder.com/2018/04/21/deploy-wordpress-behind-reverse-proxy/
怎样把wordpress 部署在反向代理的后面?
在wp-admin进不去的情况下,操作 wp_options 数据库表, 来更新wordpress的域名
msyql -u xxx -p # 连接数据库。
> use wordpress; # 使用数据库
> update wp_options SET option_value='http://www.example.com' WHERE option_name='home';
> update wp_options SET option_value='http://www.example.com' WHERE option_name='siteurl';
> quit
http://paa.com:100 –http://paa.ssl-encrypted.cf:100 //数据库替换,测试,apache子目录反向代理问题多, 直接,用webdav地址,无验证!, 有权限来处理
UPDATE wp_posts SET post_content=replace(post_content,’http://paa.com:100/’,’https://paa.ssl-encrypted.cf/’);
UPDATE wp_posts SET guid=replace(guid,’http://paa.com:100/’,’https://paa.ssl-encrypted.cf/’);
wordpress 相对路径
wordpress 内网访问,外网访问
// 二级目录
//$_SERVER['HTTP_HOST'] 用于获得来路域名
来路为 WP_HOME 和 WP_SITEURL 变量赋值,实现 WordPress 多域名绑定
nginx给wordpress反向代理,实现多域名访问wordpress
define('WP_HOME', 'http://'.$_SERVER['HTTP_HOST'].'/blog');
define('WP_SITEURL', 'http://'.$_SERVER['HTTP_HOST'].'/blog');
*define('WP_CONTENT_URL', 'http://'.$_SERVER['HTTP_HOST'].'/press/wp-content');
85 *define('WP_CONTENT_URL', '/press/wp-content');
====================================================================================
===WordPress使用相对路径访问======
wp-config.php文件最后加上下面代码:
/*设置相对路径*/
$home = 'http://'.$_SERVER['HTTP_HOST'];
$siteurl = 'http://'.$_SERVER['HTTP_HOST'];
define('WP_HOME', $home);
define('WP_SITEURL', $siteurl);
加上后,路径会随访问域名变化。
====================================================================================
1.修改Wordpress主题根目录下的wp-config.php,这个文件只有在安装好Wordpress之后才会出现,在该文件中加入一下两行
define(‘WP_HOME’, ”);
define(‘WP_SITEURL’, ”);
保存,OK了!但是这种修改方式是只能用户网网站根目录,并且使用默认的80端口
如果你不是用网站的根目录,或者用非80端口,那就用第二种方法
===============================================================================================================
如果网站端口非标准80端口,且wordpress不在网站根目录。可以参考以下设置:
define('WP_HOME', 'http://'.$_SERVER['HTTP_HOST'].'/ wordpress ');
define('WP_SITEURL', 'http://'.$_SERVER['HTTP_HOST'].'/ wordpress ');
其中/wordpress为wordpress所在目录。将以上两端放在本配置文档前部即可(我是放在mysql配置之前)
====================================================================================================
1. 打开网站根目录下的wp-config.php,在define('WP_DEBUG', false);后面添加下面内容:
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
这两句的意思就是设置网站域名为当前访问的域名,也就是取消了域名的绑定,如果不需要任意域名都能访问,只是几个域名的话,可以这样:
$domain = array("www.a.com", "www.b.com", "www.c.com");
if(in_array($_SERVER['HTTP_HOST'], $domain)){
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
}
把指定的域名放在$domain数组里面即可。
注意: 是https,请修改代码里面的http://为https://;
如果网站安装在二级目录,则将'http://' . $_SERVER['HTTP_HOST']修改为'http://' . $_SERVER['HTTP_HOST'].'/对应目录名'
在完成上面的工作以后,你的网站已经可以实现多域名访问了,但是还是有一个问题,那就是静态资源,在WordPress上传的图片插入文章里面,地址是固定的,修改域名以后,并不会修改图片的域名,所以还需要修改静态文件地址,使用以下代码可以解决:
define( 'WP_CONTENT_URL', '/wp-content');
把这段代码加入上面的代码下面即可。
到这里你的网站已经完美的突破了域名绑定的限制了。
