在以前的一篇日志中,我曾经讲过这个问题(详见本博《让Emlog支持一空间多域名》一文中的“方法三”)。不过那个代码有一个不如人意的地方,就是不能自动获取安装目录,如果博客是安装到某个子目录下面,就得手动修改安装的路径。这多少显得有点麻烦,苦于本人是编程小白,只能是有胜于无了。 这两天闲着没事,想把EM5.0后台自定义导航的地址简化一下,简化完了顺便又折腾了一下,经过几次试验外加百度,终于把多域名的问题解决了。不过因为不会编程,几个函数都是百度来的,也不知道经不经得起检验,如果有人能试一下就好了。 方法很简单。首先,如果您使用了我上面所提到的日志中的方法三(即修改系统文件 option.php),请先将 option.php 里面的相关代码删掉(即还原),然后在 init.php 里面查找:- define('BLOG_URL', Option::get('blogurl'));
复制代码 将其修改为:- $blog_url = substr(Option::get('blogurl'), stripos(Option::get('blogurl'),'/',7));% k' C3 Z- g" g# R/ ]
- define('BLOG_URL', 'http://'.$_SERVER['HTTP_HOST'].$blog_url);
复制代码 最后将修改的文件上传覆盖原来的文件即可! 怎么样,够简单吧,要不您也来试试?
, V+ S* |3 M# l" Q/ \! L( o8 E) C* hP.S.
最近在群里面讨论这个问题,vibbow 大神给出了更简单的用法:- define('BLOG_URL', 'http://' . $_SERVER['HTTP_HOST'] . parse_url(Option::get('blogurl'), PHP_URL_PATH));
复制代码
$ I+ e; @, ^* K l# X |