如何优雅地去除CodeIgniter网址中的index.php?
使用CodeIgniter(简称CI)做网站的朋友应该都会发现网站的任何url默认都会带个index.php,这对URL的美观影响很大。下面我们就来看看如何优雅地解决这个问题,让您的网站URL更加简洁。
做以下操作之前请确保您网站所运行的环境支持使用 .htaccess 进行url重写,如果可以的话,请继续往下看:
在网站根目录新建一个 .htaccess 文件,输入如下内容:
-
- RewriteEngine on
- RewriteBase /
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond $1 !^(index\.php|images|css|js|robots\.txt)
- RewriteRule ^(.*)$ /index.php/$1 [L]
复制代码
上面的代码第四行的意思是排除某些目录或文件,使得这些目录不会 rewrite 到 index.php 上,这通常用于图片、js、css 等外部资源上。也就是说非 PHP 代码都要排除出去。(这里我排除了 images 目录 css 目录 js 目录 以及 robots.txt 文件,当然 index.php 也应该被排除)
然后找到 application/config/config.php 文件,将:
-
- $config['index_page'] = "index.php";
复制代码
改为
-
- $config['index_page'] = "";
复制代码
|