`

centos nginx环境下删除CI框架Index.php入口遇到404问题

 
阅读更多

今天在网上百度看了很多文章,想要去掉index.php入口文件有好多方法,自己也照着在网站到根目录下新建了一个.htaccess文件,内容如下:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond $1 !^(index\.php|images|robots\.txt)

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

 

意思是:

  • 第一行、将RewriteEngine引擎设置为on,就是让url重写生效;
  • 第二行、如果文件存在,就直接访问文件,不进行下面的RewriteRule.
  • 第三行、如果目录存在就直接访问目录不进行RewriteRule
  • 同理:RewriteCond %{REQUEST_URI} !^.*(\.css|\.js|\.gif|\.png|\.jpg|\.jpeg)$ #如果是这些后缀的文件,就直接
  • 访问文件,不进行Rewrite
  • 第四行、配置url重写规则,!^(index\.php|images|robots\.txt) 这个正则表达式指明了哪些文件不需要重写,而是直接访问;
  • 第五行、^(.*)$是一个正则表达式,意思是对所有请求都发送到/index.php/$1,熟悉url的人都知道,以反斜杠(/)开头的,都是相对路径,相对于谁呢?根,也就是网址。

原来自己到网站访问到URL是这样到:http://网址/index.php?/控制器/函数,现在想去掉index.php?,这里index.php后面还多了一个问号,好烦人的,结果文件建好后,输入网址访问,报了nginx 404错误,我的nginx是1.4.7版本

 

后来经过多方寻找,终于搞定了,打开nginx到配置文件nginx.conf,在server 部分加入以下命令

 if (!-e $request_filename) {
      rewrite ^.*$ /index.php last;
    }

 

保存后,重启nginx (/etc/init.d/nginx restart) ,再输入没有带index.php?的网址,真到可以访问了

0
0
分享到:
评论

相关推荐

    centos7 nginx离线安装包 nginx-1.20.1-2.el7.x86_64

    在完全无互联网连接的情况下,离线安装nginx。 nginx版本号:nginx-1.20.1-2.el7.x86_64 食用方法: 1.解压 2.进入解压目录 3.rpm安装全部 4.安装完成

    centos7.5离线安装nginx1.17.8全套包.zip

    本压缩包“centos7.5离线安装nginx1.17.8全套包.zip”提供了在没有网络连接的情况下在CentOS 7.5上安装Nginx 1.17.8的所有必要文件和步骤。以下将详细介绍如何进行离线安装以及Nginx的一些核心概念。 1. **离线安装...

    Centos7环境下Nginx版本升级方式及步骤

    在CentOS7环境中,对Nginx进行版本升级是一个重要的任务,这可能是因为新版本提供了更多的功能、性能优化或安全修复。本篇文章将详细介绍两种在CentOS7上升级Nginx的方法:YUM upgrade和源码平滑升级,并提供相关的...

    nginx-1.18.0-2.el7.ngx.x86-64.rpm安装包(含有部署手册)

    nginx-1.18.0-2.el7.ngx.x86_64.rpm安装包(含有部署手册) nginx-1.18.0-2.el7.ngx.x86_64.rpm安装包(含有部署手册) nginx-1.18.0-2.el7.ngx.x86_64.rpm安装包(含有部署手册) nginx-1.18.0-2.el7.ngx.x86_64.rpm...

    nginx-1.6.2-1.el7.centos.ngx.x86_64.rpm

    很难找的 centos7 nginx-1.6.2-1.el7.centos.ngx.x86_64.rpm 包

    CentOS7-Nginx安装包(相关所有依赖包).zip

    这个名为"CentOS7-Nginx安装包(相关所有依赖包).zip"的压缩文件正是为了解决这个问题,它包含了在CentOS7上安装Nginx所需的所有依赖。 首先,让我们了解一下在CentOS7上安装Nginx的基础步骤。传统的安装方式是通过...

    nginx rpm安装包-centos6亲测可用 nginx-1.4.5-1.el6.ngx.x86_64.rpm

    nginx-1.4.5-1.el6.ngx.x86_64.rpm nginx rpm安装包-centos6亲测可用 无需额外依赖 配置目录:/etc/nginx /etc/nginx/conf.d

    nginx-1.24.0-1.el6.ngx.x86-64.rpm

    nginx官网不再更新centos6版,此rpm构建于nginx最新稳定版1.24.0

    Centos7.6.1810离线安装Nginx-所需依赖包

    Centos7.6.1810离线安装Nginx-所需依赖包 1、patch命令:patch-2.7.1-12.el7_7.x86_64.rpm 2、zlib-1.2.12.tar.gz 3、zlib-devel-1.2.7-20.el7_9.x86_64.rpm 4、pcre-8.32-17.el7.x86_64.rpm 5、pcre-devel-8.32-17....

    centOS7离线安装nginx依赖包.zip

    本压缩包"centOS7离线安装nginx依赖包.zip"显然是为了帮助用户在没有网络连接的环境中在CentOS 7上安装Nginx。离线安装意味着我们需要预先准备所有必要的依赖包,以便在目标机器上进行安装。 首先,了解Nginx的基本...

    CentOS 7 Nginx 离线安装依赖库

    在CentOS 7系统中安装Nginx时,会遇到一些必须的依赖库,这些库通常包括SSL支持、PCRE(Perl Compatible Regular Expressions)库以及Zlib压缩库。在描述中提到,ssl依赖包已经在上传的gcc依赖包中提供,这可能指的...

    CentOS+Nginx+PHP+MySQL配置详解.pdf

    在本文中,我们将详细介绍如何在 CentOS 平台上安装和配置 Nginx、PHP 和 MySQL,实现一个完整的 Web 服务器环境。 一、Nginx 介绍 Nginx 是一个高性能的 HTTP 和反向代理服务器,同时也是 IMAP/POP3/SMTP 代理...

    centos7.6离线安装nginx

    在Linux环境中,CentOS 7.6是一个广泛使用的操作系统,而Nginx是一款高性能的Web服务器和反向代理服务器,常用于网站托管和负载均衡。本文将详细介绍如何在CentOS 7.6上进行离线安装Nginx,这对于网络环境不稳定或者...

    centos nginx安装包

    在Linux系统中,CentOS是一个广泛使用的开源操作系统,它基于Red Hat Enterprise Linux并提供免费的社区支持。Nginx是一款高性能、轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,因其高效的...

    centos下nginx安装操作文档

    ### CentOS 下 Nginx 安装操作文档 #### 概述 本文档旨在提供一份详细的指导,帮助用户在 CentOS 系统中成功安装 Nginx 1.11.4 版本及其所需依赖包。Nginx 是一款高性能的 HTTP 和反向代理 Web 服务器,同时也是一...

    centos6.4安装nginx+keepalived实现高可用负载均衡.doc

    "CentOS 6.4 安装 Nginx + Keepalived 实现高可用负载均衡" 本文主要讲述如何在 CentOS 6.4 操作系统上安装 Nginx 和 Keepalived,以实现高可用负载均衡。高可用负载均衡是指在 Web 服务器前端部署多台 Nginx ...

    CentOS7.3下Nginx基于IP+端口的虚拟主机配置实战.pdf

    在本教程中,我们将详细介绍如何在CentOS 7.3系统下配置基于IP和端口的Nginx虚拟主机。首先,了解Nginx的基本概念是必要的。Nginx(发音为“engine x”)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/...

    centOS7安装nginx安装包以及所有依赖包.zip

    CentOS7+,压缩保证包含 gcc\gcc-c++所有安装rpm包;openssl包;zlib包;pcre的包以及nginx安装包,支持Linux下离线安装nginx 如下: nginx-1.15.12.tar.gz openssl-1.0.2r.tar.gz pcre-8.42.tar.gz zlib-1.2.11.tar...

    详细步骤截图。微信,淘宝客api域名检验,centos nginx springboot jar下的验证文件xxx.txt放置于您所配置域名

    这篇描述主要涉及了如何在CentOS操作系统上,通过Nginx服务器进行多域名配置,并结合SpringBoot应用来完成微信、淘宝客API的域名验证过程。下面我们将详细讲解这个过程。 首先,验证域名通常涉及到提供一个特定的...

    nginx-1.18.0-1.el7.ngx.x86_64

    这意味着即使在没有网络连接的情况下,我们也可以为 CentOS 7 安装和配置 Nginx。 首先,我们需要了解的是 Nginx 的基本架构。Nginx 使用事件驱动的异步非阻塞模型,这使得它能够高效地处理大量并发连接。在高负载...

Global site tag (gtag.js) - Google Analytics