在nginx下如何去除ci框架url中的index.php

2024-12-24 19:07:23
推荐回答(1个)
回答1:

ci框架默认的url规则中带有应用的入口文件,例如:
example.com/index.PHP/news/article/my_article

在以上URL中带有入口文件index.php,这样的URL规则对搜索引擎来说是不友好的,那么如何去除这个index.php?
步骤
1 apache环境下:
通过 .htaccess 文件来设置一些简单的规则删除它。下面是一个例子,使用“negative”方法将非指定内容进行重定向:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

2 如果项目不在根目录请把上面这一句改为:RewriteRule ^(.*)$ index.php/$1 [L]
在上面的例子中,可以实现任何非 index.php、images 和 robots.txt 的 HTTP 请求都被指向 index.php。
Nginx环境下:

修改nginx配置文件,在SERVER段中添加如下代码:
location /{
if (-f $request_filename) {
expires max;
break;
}
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
}
}