最佳方法:
去数据库里把默认地址删掉
方法一:
修改 typecho 源码 使之支持多个域名, 并且 全站链接 保持与域名一致.
1. 存储位置
typecho_options 表中 siteUrl 字段存储着 本站域名,
所有本站链接 都用它作为 根路径的.
想换域名的话, 简单的修改这个字段就行了.
但是当有多个域名时, 想要每个域名内的 链接 都正常的话, 需要修改 typecho 源码了.
2. 相关代码
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 能看到他们的踪影.
3. 修改代码
在 Widget_Options->execute() 中
if($_SERVER['SERVER_NAME']=='note.yurenchen.com'){//chen added
$this->siteUrl = 'http://note.yurenchen.com';
}
/** 初始化站点信息 */
$this->siteUrl = Typecho_Common::url(NULL, $this->siteUrl);
$this->plugins = unserialize($this->plugins);
end
现在 note.yurenchen.com 和 yurenchen.sinaapp.com 都可以访问本站了.
前者 会解析到 海外服务器, 后者则是 国内服务器.
原帖url http://note.yurenchen.com/archives/typecho_siteUrl.html
方法二:
在config.inc.php中定义Helper::options()->siteUrl='http://www.qqdie.com';(要放在数据库初始化之后,也就是最后)