### EZ Publish多语言URL别名详解
#### 一、引言
在当今全球化与信息化高度融合的时代背景下,网站多语言支持已成为标配。EZ Publish作为一款功能强大的内容管理系统,其多语言支持能力也是其核心竞争力之一。本文将详细介绍EZ Publish中的多语言URL别名功能,帮助开发者更好地理解和应用这项特性。
#### 二、多语言URL别名概念
在EZ Publish 3.10版本之后,系统新增了多语言虚拟URL(也称作友好URL或URL别名)的支持。这一特性使得URL别名能够根据不同语言进行定制,从而更好地满足多语言网站的需求。具体来说,当一个对象存在多种语言的翻译时,系统会自动为其生成对应的URL别名。
#### 三、URL别名生成方式
##### 3.1 自动生成的URL别名
自动生成的URL别名是基于对象的实际语言版本自动产生的。当为对象添加新翻译时,系统会自动为该翻译生成一套新的URL别名。这些别名的生成规则由“URL别名模式”字段控制,该字段决定了在保存对象时节点的虚拟URL如何被生成。
- **特点**:
- 无法在管理界面中直接创建、编辑或删除。
- 当对象发生变化时,相应的URL别名会被自动更新。
- 修改这类URL别名的唯一方法是编辑对应语言版本的对象。
##### 3.2 手动/用户定义的URL别名
除了自动生成的URL别名之外,EZ Publish还支持用户手动定义的URL别名,主要包括两种类型:
- **全局URL别名**:这些是用户定义的虚拟URL,不包括指向特定内容(如"content/view/full/node_id")的URL别名。
- **节点URL别名**:这些别名是针对特定节点的,可以单独管理。
这两种类型的URL别名都可以通过管理界面进行创建、编辑或删除操作。
#### 四、URL别名的管理和使用
##### 4.1 基于通配符的URL转发
EZ Publish支持基于通配符的URL转发,允许在URL别名中使用通配符(*)。例如,可以创建形如"pictures/*/*"的通配符URL别名,并指定"media/images/{1}/{2}"为目标路径。这样,当访问"http://www.example.com/pictures/home/photo/"时,系统会自动将其解析为"http://www.example.com/media/images/home/photo/"。此外,还可以选择是否让浏览器地址栏中的URL保持不变(直接别名)或者进行重定向(转发别名)。
##### 4.2 可用性控制
- **语言匹配**:只有当URL别名的语言与当前站点入口的站点语言相匹配时,该URL别名才可用。如果站点入口被配置为“显示未翻译的内容”,则任何语言的URL别名都是可用的。
- **总是可用的别名**:某些全局的URL别名需要总是可用,不受站点语言的影响。系统为此类别名引入了一个“包含在其他语言”属性,以便于单独控制它们的可用性。
#### 五、总结
EZ Publish的多语言URL别名功能极大地提升了网站的国际化水平,使网站管理员能够更加灵活地管理和展示多语言内容。通过合理的设置和利用,不仅可以提升用户体验,还能提高SEO效果,进而推动网站的发展。希望本文能帮助读者更好地理解并运用EZ Publish中的多语言URL别名功能。