王新阳

wangxinyang

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]
2018-01-13
2024-11-22 星期五 农历十月二十二