【发布时间】:2014-10-07 22:22:47
【问题描述】:
我们正在使用 Codeingiter 库 i18n (link) 创建一个多语言网站。
在此之前,例如 www.thedomain.com/register 和 register 是我们控制器中的一个函数。现在,当我们放置这个库时,它会获取域、语言字符串、控制器名称和函数名称:www.thedomain.com/es/homegf/register(其中 homegf 是我们的控制器)。
我们希望这个 URI 在没有控制器名称的情况下也能正常工作(www.thdomain.com/es/register),就像图书馆的示例中一样,但我们认为问题出在我们的 routes.php 中。
这就是我们在 routes.php 中的内容
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
$route['default_controller'] = "homegf";
$route['404_override'] = '';
$route['^(en|es|de)/(.+)$'] = "$2";
$route['^(en|es|de)$'] = $route['default_controller'];
这是我们的 .htaccess
RewriteEngine on
RewriteCond $1 !^(index\.php|files|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
您可以在https://bitbucket.org/ticketcomunicacion/grinfood/src/17ddde60e340a1f2bc389f54ec579e1e903ee86b?at=multilenguaje找到我们的代码进行审查
【问题讨论】:
-
所以如果你没有被重新路由到你想要的地方,你最终会去哪里?
-
我在www.thedomain.com/es/homegf/register中找到的内容,我想去www.thedomain.com/es/register,我想消失homegf
标签: php .htaccess codeigniter multilingual