有些bloger经常将多个域名绑在同一个空间,其实对博客程序而言,在大多数正常情况下,非主域名只能访问首页,内页的链接仍然是主域名的。那么,对于那些手里面有许多域名,又舍不得丢的bloger,是不是就没有办法了呢?
办法肯定是有的,而且不只一种。前两天和一个用WP的博友交流,他说在WP里面就有支持多域名的代码,而且他在Emlog上实现过。于是我向他要了这段代码,居然只有2行,于是对那些高手不禁心向往之。
好了,现在谈正题。对于一空间多域名的问题,我目前知道的方法有这么两个:
方法一:设定一个主域名,然后将其它域名全部交给提供免费域名解析服务的网站来处理(这种网站很多,我用的是 namecheap.com),解析的时候全部用301转到主域名下(包括@和www 2条记录)。你甚至可以直接在这里把主域名的 www.xxx.com 也用301直接转到 xxx.com,省去修改 .htaccess 文件的麻烦;
这是我推荐的方法,一是这样做不会影响到主域名的权重,二是这种方法只需在空间绑上主域名就行了。
方法二:在 option.php(经过实践,其实添加在config.php也行的,而且方添加方法可以参照https://long.ge/3207.html) 文件中添加2行代码:
- $siteurl = 'http://'.$_SERVER['HTTP_HOST'].'/';
- define('BLOG_URL', $siteurl);
复制代码
这样就可以支持多域名了。但是有几点要注意,一是这种方法只支持安装到根目录的博客,不支持安装到目录的情况;二是这种方法所有的域名会平分权重,不利于主域名的收录;三是需要在空间绑上所有的域名。
有些Emer可能还会申请一些免费空间,然后用一个跳转页面转到主域名,这种方法最不可取,除了会和主域名平分权重之外,还有可能被认为在作弊,影响到主域名的收录。
………………………………………………………………………………………
备注:
博友给我代码的时候提醒说,如将博客安装在子目录不能使用上述代码,否则博客将无法正常使用,但经过测试,发现并没有问题。比如你将博客安装到网站的blog目录下面,则上述代码改为:
$siteurl = 'http://'.$_SERVER['HTTP_HOST'].'/blog/';
define('BLOG_URL', $siteurl);
只要记住,无论安装到哪里,都必须以“/”结尾,否则就真的无法正常使用了。