【问题标题】:Multi language site using codeigniter使用 codeigniter 的多语言站点
【发布时间】:2015-07-24 06:16:39
【问题描述】:

我想为我的网络应用设置一个多语言网站。但我很困惑从哪里开始。我正在使用 Codeigniter 并将我的域托管在 cpanel 服务器中。

我想要的是带有子域的多语言,例如:

en.abc.com for english
id.abc.com for indonesia

到目前为止,我已经设置了高级 DNZ 区域编辑器并将子域指向服务器 IP 地址。但是,我不知道下一步该怎么做。我已经阅读了一些设置 .htaccess 等的教程。但它不起作用。

这是我的 .htaccess 文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^(/index\.php|/assets|/robots\.txt|/favicon\.ico)
RewriteRule ^(.*)\.html$ /index.php/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^(/index\.php|/assets|/robots\.txt|/favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteCond %{HTTP_HOST} ^en\.lokadok\.co.id$
RewriteCond %{REQUEST_URI} !^/en/
RewriteRule (.*) /en/$1

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>

<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>

每次访问重定向到以下地址的子域时,我都会收到 404 not found 错误:

http://www.en.abc.com/en/index.php/en/ 

我的问题是,我应该从哪里开始实施它?

谢谢。

【问题讨论】:

    标签: php .htaccess codeigniter


    【解决方案1】:

    对我来说,这看起来像是一个结构问题而不是 CI 问题,但我会给你一些想法

    1. 您应该考虑是否需要针对每种语言使用不同的模型和控制器。

    2. 如果您需要不同的模型等,只需创建 2 个不同的 CI 安装。例如 - 由于您使用的是 Apache,我给您一个具体的示例:在您的文档根文件夹中为每种语言创建一个文件夹,并通过 vhost 将任何子域指向适当的目录。作为替代方案,您可以将 CI 用作多个应用程序环境,请查看 this link

    3. 如果你想选择相同的模型、控制器和视图,你真的必须考虑你的路由。您是否希望所有语言都使用相同的 url 名称,或者您喜欢依赖语言的 url(为此,您应该考虑一个带有数据库系统的前置控制器挂钩,以选择链接应该路由到所需控制器的位置)

    4. 在您的网址http://www.en.abc.com/en/index.php/en/ 中有太多“ens”。事实上,如果你有一个语言前缀作为子域,你根本不需要“en”作为后缀。 En.abc.com 是必经之路。

    【讨论】:

    • 您好,sintakonte,感谢您的反馈,我终于能够做到这一点,但与我的预期略有不同。我为 CodeIgniter 2 使用了提供的 Internationalization (i18n) 库,link.
    猜你喜欢
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 2015-11-09
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 2023-03-22
    • 2019-11-28
    相关资源
    最近更新 更多