如何给你的typecho博客添加多站点
前言
目前typecho后台只能设置一个站点,比如我设置的是kevindurant.cn,这就会导致www.kevindurant.cn这个域名
访问网站时出现问题,比如引用的一些文件就无法加载,因为网站后台只认不带www的域名,于是我上网搜寻一些解决方法
原因
typecho 中所有 使用 siteUrl 的地方 都是通过 Widget_Options 类内一个变量 siteUrl 实现的.
在 Widget_Options->execute() 中, 它从 数据库 读出 typecho_options 表.
siteUrl 存储进了 Widget_Options->row,
Widget_Options 的 父类 Typecho_Widget 中 通过 __get() __set() 实现
$this->xxx 直接 访问 $this->row['xxx'] 的效果.
所以直接在 Widget_Options 中 print_r($this) 是看不到 siteUrl 的, 但在 $this->row 能看到他们的踪影
解决方法
打开程序目录var//Widget/Options.php这个文件
找到下面这行代码
if (defined('__TYPECHO_SITE_URL__')) {
$this->siteUrl = __TYPECHO_SITE_URL__;
} else if (defined('__TYPECHO_DYNAMIC_SITE_URL__') && __TYPECHO_DYNAMIC_SITE_URL__) {
$this->siteUrl = $this->rootUrl;
}
在这一行的上面添加如下代码
if($_SERVER['SERVER_NAME']=='你的域名'){//chen added
$this->siteUrl = 'http://你的域名';
}
转载自QQ爹博客~
大佬大佬୧(๑•̀⌄•́๑)૭