typecho多域名支持(站点信息)
本文章参考WibusNote
简介
typecho仅仅支持一个域名,一个端口,像我这种用不起公网ipv4的穷人,面对多端口的情况,typecho这点就非常不友好,根据网友的方法二,我进行了改进,用最简单方式修改成功。
解决方法
方法一(仅搬运)
在config.inc.php
中定义Helper::options()->siteUrl='http://www.iucky.cn';
(要放在数据库初始化之后,也就是最后
方法二
-
原本方法
- 打开程序目录的这个文件
/var/Widget/Options.php
- 使用搜索找到这个位置
/** 初始化站点信息 */ if (defined('__TYPECHO_SITE_URL__')) { $this->siteUrl = __TYPECHO_SITE_URL__; }
- 在前面添加下面代码
if($_SERVER['SERVER_NAME']=='yourdomin2'){//chen added $this->siteUrl = 'http://yourdomin2'; }
- 打开程序目录的这个文件
-
改进
- 打开程序目录的这个文件
/var/Widget/Options.php
- 使用搜索找到这个位置
/** 初始化站点信息 */ if (defined('__TYPECHO_SITE_URL__')) { $this->siteUrl = __TYPECHO_SITE_URL__; }
- 在下面添加代码
$this->siteUrl = $this->rootUrl;
如:
/** 初始化站点信息 */ if (defined('__TYPECHO_SITE_URL__')) { $this->siteUrl = __TYPECHO_SITE_URL__; } elseif (defined('__TYPECHO_DYNAMIC_SITE_URL__') && __TYPECHO_DYNAMIC_SITE_URL__) { $this->siteUrl = $this->rootUrl; } $this->siteUrl = $this->rootUrl; $this->originalSiteUrl = $this->siteUrl; $this->siteUrl = Common::url(null, $this->siteUrl); $this->plugins = unserialize($this->plugins);
- 解释:
这串代码中$this->rootUrl
是现在访问域名,我们将站点信息直接赋值现在访问域名,简单粗暴,不放心的可以添加if
判断。
- 打开程序目录的这个文件
© 版权声明
文章版权归作者所有,未经允许请勿转载。
本博客所有文章除特别声明外,均采用
BY-NC-SA
许可协议。转载请注明出处!