漫游的备忘录
关于EMLOG一空间多域名的问题
2012-2-15 漫游
本文转载,按下文方法二,在\include\lib\option.php前面插入2行代码即可(“class Option {”前)。





有些Emer经常将多个域名绑在同一个空间,其实对博客程序而言,在大多数正常情况下,非主域名只能访问首页,内页的链接仍然是主域名的。那么,对于那些手里面有许多域名,又舍不得丢的Emer,是不是就没有办法了呢?



  办法肯定是有的,而且不只一种。前两天和一个用WP的博友交流,他说在WP里面就有支持多域名的代码,而且他在Emlog上实现过。于是我向他要了这段代码,居然只有2行,于是对那些高手不禁心向往之。



  好了,现在谈正题。对于一空间多域名的问题,我目前知道的方法有这么两个:



  方法一:设定一个主域名,然后将其它域名全部交给提供免费域名解析服务的网站来处理(这种网站很多,我用的是
namecheap.com),解析的时候全部用301转到主域名下(包括@和www 2条记录)。你甚至可以直接在这里把主域名的
www.xxx.com 也用301直接转到 xxx.com,省去修改 .htaccess 文件的麻烦;



  这是我推荐的方法,一是这样做不会影响到主域名的权重,二是这种方法只需在空间绑上主域名就行了。



  方法二:在 option.php 文件中添加2行代码:

  1. $siteurl = 'http://'.$_SERVER['HTTP_HOST'].'/';


  2. define('BLOG_URL', $siteurl);






  这样就可以支持多域名了。但是有几点要注意,一是这种方法只支持安装到根目录的博客,不支持安装到目录的情况;二是这种方法所有的域名会平分权重,不利于主域名的收录;三是需要在空间绑上所有的域名。



  有些Emer可能还会申请一些免费空间,然后用一个跳转页面转到主域名,这种方法最不可取,除了会和主域名平分权重之外,还有可能被认为在作弊,影响到主域名的收录。

………………………………………………………………………………………

备注:



  博友给我代码的时候提醒说,如将博客安装在子目录不能使用上述代码,否则博客将无法正常使用,但经过测试,发现并没有问题。比如你将博客安装到网站的blog目录下面,则上述代码改为:



      $siteurl = 'http://'.$_SERVER['HTTP_HOST'].'/blog/';

      define('BLOG_URL', $siteurl);



  只要记住,无论安装到哪里,都必须以“/”结尾,否则就真的无法正常使用了。



  原文出自:dutou.tk