CodeIgniter框架中网站英文版以 /en/index.php 方式访问的设置
网址: http://www.baidu.com/en/about.html
实际请求地址: /en/index.php/about
实现步骤:
一、新建 /en 文件夹,把原 index.php 复制进来, 修改以下内容:
1、 $system_path = '../system';
2、 $application_folder = '../application/en_web';
3、define('FCPATH', realpath(dirname(__FILE__).'/../').DIRECTORY_SEPARATOR);
二、在 /application 目录下新建英文版app的文件夹 en_web,把原中文版的app内容复制进来,修改 config.php
1、$config['index_page'] = 'en/';
三、修改 .htaccess 文件,在原内容前面添加:
RewriteRule ^en\/(.*)$ en/index.php/$1 [L]
OK!
另外,可以在 /index.php 中使用 $_SERVER['HTTP_ACCEPT_LANGUAGE'] 判断客户语言并自动转入相应版本。
附我的 .htaccess
RewriteEngine On RewriteRule ^en\/m\.php(.*)$ en/m.php/$1 [L] RewriteRule ^en\/manage\.php(.*)$ en/manage.php/$1 [L] RewriteRule ^en\/(.*)$ en/index.php/$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond $1 !^.+\.(ico|js|css|jpg|jpe|jpeg|png|bmp|gif|mp4|flv|swf|txt|pdf|zip|rar|htm|doc|docx|xls|xlsx)$ RewriteRule ^(.*)$ index.php/$1 [L]