Joomla别名(alias)的作用和启用中文别名
引用请注明出处: https://seonoco.com/blog/1237
发布于 分类 PHP
14天前 有1个用户阅读过
本文来自我的百度空间博客详情
2007年开始使用的是 hi.baidu.com/udjy
后来百度空间强制升级为轻博客 hi.baidu.com/imnoco
2015年百度关闭了百度空间
这里需要说明的是Joomla为什么一篇文章需要有名称和别名,因为文章的名称会在浏览器中默认显示为标题,而别名是用来做SEF的,如下图,我们利用别名生成url。
如果要使用中文的 别名/Alias/链接 (也就是在 Alias 字段里使用中文),需要修改两个文件。首先修改/libraries/joomla/filter/filteroutput.php 里面的 stringURLSafe() 函式,搜索
$str = preg_replace(array('/\s+/','/[^A-Za-z0-9\-]/'),array('-',''),$str);
替换为
$str = preg_replace(array('/\s+/','/\./'),array('-','_'),$str);
接下来修改 /libraries/joomla/language/language.php 搜索
$string = htmlentities(utf8_decode($string));
替换为
$string = htmlentities($string, ENT_COMPAT, 'UTF-8');
ok了,现在Joomla的别名已经更好的支持中文语系的网站了。这里需要注意的是,如果你使用了SEF,请注意里面有一个选项就是url支持UTF-8格式,这项需要选中,否则SEF不能生成中文连接。如下图(以ARTIO JoomSEF 举例):
有 人可能会为为什么别名中文这么重要,其实这个主要是针对搜索引擎优化用的,因为在url中包含关键字,被搜索引擎找到的概率更大一些,排名更前一些,所以 这点还是蛮重要的,尤其是针对中文网站,中文别名还是很重要的。不过话说回来了Joomla让别名默认就支持UTF-8格式的不更好?省的手动去修改了。
-- The End --