Yii URL重写并添加另一种语言

时间:2013-02-03 08:49:58

标签: url-rewriting yii lang

我正在使用yii和我的网站结构:

主文件夹是“ar”

ar
├───assets
├───css
├───images
├───protected
└───themes

和帖子链接类似于:

www.example.com/的 AR /后/视图/ ID / 499

当我构建网站时,没有必要构建具有多语言支持的网站,所以我犯了一个错误,并在“ar”文件夹中创建应用程序,这是“阿拉伯语”的缩写:(。

现在我需要在网站上添加英语,我不希望网址是这样的:

www.example.com/的 AR / EN /后/视图/ ID / 499

并且我不想重命名主文件夹“ar”,因为我不想丢失当前的网站帖子链接。

那么,你建议我解决我的问题是什么?当我们制作多语言网站时,最好的思考方式是什么?

当语言为英语时,我可以使用.htaccess文件或Yii URL管理器对网址进行重写,他发现了这样的网址:www.example.com/ar/ zh / post / view / id / 499将其转换为:www.example.com/en/post/view/id/499

提前感谢

1 个答案:

答案 0 :(得分:0)

您无需更改网址。只需将ar的内容移动到父目录,并修复适用的路径。移动文件夹时,请将文件夹ar留空并添加en文件夹。在每个文件夹中.htaccess:

RewriteEngine on
RewriteRule .* ../index.php

您的文件夹布局应如下所示:

ar
en
... possibly more languages
assets
css
images
protected
themes

此配置的优点是您不需要主网络文件夹/中的htaccess

对于这种布局的重写规则,我在其他问题中回答:

Yii urlManager language in URL