php - CodeIgniter SEO - 每种语言一个 URL

标签 php codeigniter localization seo

我正在构建一个网站,我决定使用 codeIgniter 作为框架。我的网站将在发布时翻译成两种语言,之后可能会更多。我的网站会很简单,包括以下功能:创建帐户、登录、浏览教程/常见问题解答页面。

我希望我的 URL 简单易懂,并以各种语言呈现,以便人眼和搜索引擎更容易理解。

英语:
我的网站/注册
法语:
我的网站/铭文

有了这个设置,我需要为我的 routes.php 中的每个页面设置一个路由

$route['default_controller'] = 'home';
// SIGN UP
$route['signup'] = 'signup_c/main/english';
$route['inscription'] = 'signup_c/main/french';

我想知道这样做是否正确,因为我不会有太多页面,所以我需要为每个页面/语言添加一个路由。 另外,如果我需要在每个页面上提供一个链接让用户更改当前语言,最好的方法是什么?我想到了使用一个文件来存储每种语言的特定页面的所有 URL,并显示一个组合框,其中包含指向除当前页面语言之外的所有这些页面的链接。

$signup_url = array(
'english' => 'signup',
'french' => 'inscription'
);

$lang['url_form_signup']        = 'signup';

在/language/[language_here]/url_lang.php 但不确定如果我把它放在那里我如何遍历所有 URL

感谢指导新手! :)

最佳答案

使用国际化库可能是最好的方法。使用路由和不同的 Controller 功能将变得相当笨拙 - 将不同的语言与逻辑分开可能更容易理解和维护。

CodeIgniter 有几个国际化库,包括:

值得一看的标准语言libraryhelper也是。

关于php - CodeIgniter SEO - 每种语言一个 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23915272/

相关文章:

css - codeigniter Controller 和 controller/之间有什么区别?

c# - CultureInfo.InvariantCulture 和 DateTime to String 如何工作

xaml - ResourceLoader 在 ViewModel 中返​​回错误的语言

php - 将 ajax 结果显示到文本框中

php - 检测session_id(some-id)是否存在

php - 我是否正确理解了如何使用 Zend Framework 构建强大的 php 后端?

php - 未知列 "in field list form "

php - 如何在同一个表中插入不同的值和新行?

php - 如何在 Controller 的 __construct() 函数中没有 die() 的情况下退出 codeigniter?

ios - UILocalNotification NSLocalizedString 使用设备的语言