typecho多域名支持(站点信息)

NAS2年前 (2023)发布 ENE
215 0 0

typecho多域名支持(站点信息)

本文章参考WibusNote

简介

typecho仅仅支持一个域名,一个端口,像我这种用不起公网ipv4的穷人,面对多端口的情况,typecho这点就非常不友好,根据网友的方法二,我进行了改进,用最简单方式修改成功。


解决方法

方法一(仅搬运)

config.inc.php中定义Helper::options()->siteUrl='http://www.iucky.cn';(要放在数据库初始化之后,也就是最后

方法二

  1. 原本方法

    • 打开程序目录的这个文件/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';  
      }
  2. 改进

    • 打开程序目录的这个文件/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判断。
© 版权声明

相关文章