在nginx下去掉ci框架url中的index.php

ci框架默认的url规则中带有应用的入口文件,例如:

example.com/index.php/news/article/my_article

在以上URL中带有入口文件index.PHP,这样的URL规则对搜索引擎来说是不友好的,那么如何去除这个index.php呢?
apache环境下:
通过 .htaccess 文件来设置一些简单的规则删除它。下面是一个例子,使用“negative”方法将非指定内容进行重定向:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

如果你的项目不在根目录请把上面这一句改为:

RewriteRule ^(.*)$ index.php/$1 [L]

在上面的例子中,可以实现任何非 index.php、images 和 robots.txt 的 HTTP 请求都被指向 index.php。

Nginx环境下:
修改nginx配置文件,在SERVER段中添加如下代码:

location /{

    index index.php index.hml index.htm
    if (-f $request_filename/index.php) {
        rewrite (.*) $1/index.php
        break;
    }
    if (!-e $request_filename) {
        rewrite (.*) /index.php;
    }
}
时间: 2024-12-17 10:44:28

在nginx下去掉ci框架url中的index.php的相关文章

去掉php框架CI默认url中的index.php

CI默认的rewrite url中是类似这样的 例如你的CI根目录是在/CodeIgniter/下,你的下面的二级url就类似这样 http://localhost/CodeIgniter/index.php/welcome. 不太好看,怎么把其中的index.php取掉呢? 解决方法如下: 第一步: Apache Url Rewrite 配置(php伪静态) 检查 Apache 中 conf/httpd.conf 中是否存在如下一段代码: #LoadModule rewrite_module

thinkphp框架url中隐藏index.php

1.httpd.conf配置文件中加载了mod_rewrite.so模块 //在APACHE里面去配置 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 2.在apache配置文件httpd.conf中,将里面的AllowOverride None都改为AllowOverride All 进行1和2之后,一定要重启apache服务 3..htaccess文件必须放到根目录下 (windows里面创建.htaccess,新建任何一个

去掉CodeIgniter(CI)默认url中的index.php的步骤(完整版)

去掉CodeIgniter(CI)默认url中的index.php的步骤: 1.打开apache的配置文件,conf/httpd.conf : 1 LoadModule rewrite_module modules/mod_rewrite.so 把该行前的#去掉. 搜索 AllowOverride None(配置文件中有多处),看注释信息,将相关.htaccess的该行信息改为: 1 AllowOverride All 2.在CI的根目录下,即在index.php,system的同级目录下,建立

nginx去掉url中的index.php

使用情境:我想输入www.abc.com/a/1后,跳转到www.abc.com/index.php/a/1 配置Nginx.conf在你的虚拟主机下添加:  location / {      if (!-e $request_filename){           rewrite ^/(.*)$ /index.php/$1 last;      } } 如果你的项目入口文件在一个子目录内,则: location /目录/ {      if (!-e $request_filename){

PHP CI(CodeIgniter) 如何去掉url中的index.php

1.打开Apache配置文件httpd.conf,找到 1 #LoadModule rewrite_module modules/mod_rewrite.so 去掉前面的# 搜索AllowOverride,将相应Directory下的AllowOverride设置为All 1 AllowOverride All 2.在CI的根目录下,建立.htaccess文件,文件内容如下 1 RewriteEngine On 2 3 RewriteCond %{REQUEST_URI} ^system.* 4

nginx下 使用CI

nginx 默认不支持PATH_INFO 那么不能正常使用CI. 更改nginx.conf 配置 server { listen 80; server_name localhost; index index.php index.html index.htm; root /Users/renfrank/Sites/; location ~ \.php{ fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; ###################

【铜】第174-9篇 一对一视频录制(九)一对多学生端删除白板及nginx下配CI

关键词:webm文件在手机端播放, 一对多学生端删除白板, nginx下配CI 一.一对一视频录制 1.1.webm文件在手机端播放 1)在PC上 a.)用谷歌浏览器播放 http://123.57.206.36:8014/uploads/177013288141499069939723.webm 2)手机端播放 二.一对多 2.1 网址 1)备份上 老师端:https://123.57.206.36:9101/demos/index.html?roomid=888&teaNameMobile=

CI框架 -- URL

移除 URL 中的 index.php 默认情况,你的 URL 中会包含 index.php 文件: example.com/index.php/news/article/my_article 如果你的 Apache 服务器启用了 mod_rewrite ,你可以简单的通过一个 .htaccess 文件再加上一些简单的规则就可以移除 index.php 了. 下面是这个文件的一个例子, 其中使用了 "否定条件" 来排除某些不需要重定向的项目(比如不需要后台登录的网站,这时候不需要单一入

ThinkPHP 利用.htaccess文件的 Rewrite 规则隐藏URL中的 index.php

去掉 URL 中的 index.php ThinkPHP 作为 PHP 框架,是单一入口的,那么其原始的 URL 便不是那么友好.但 ThinkPHP 提供了各种机制来定制需要的 URL 格式,配合 Apache .htaccess 文件,更是可以定制出人性化的更利于 SEO 的 URL 地址来. .htaccess文件是 Apache 服务器中的一个配置文件,它负责相关目录下的网页配置.我们可以利用 .htaccess 文件的 Rewrite 规则来隐藏掉 ThinkPHP URL 中的 in