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?的网址,真到可以访问了

来源: <http://www.350351.com/qianyanjishu/webkaifa/153745.html>

时间: 2024-10-08 22:42:50

RewriteEngine On的相关文章

PHP 500 -Invalid command RewriteEngine的解决

转自:http://blog.csdn.net/wang02011/article/details/8205903 环境:   wampserver-2.1a 系统 :  win8 错误 :  500 -Invalid command RewriteEngine 日志 : [Tue Nov 20 22:52:24 2012] [alert] [client 127.0.0.1] D:/wamp/www/.htaccess: Invalid command 'RewriteEngine', per

apache下/.htaccess: Invalid command &#39;RewriteEngine&#39;错误信息如何解决。

错误信息. [Wed Nov 05 23:57:10 2014] [alert] [client 127.0.0.1] .../wamp/www/.../.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration. RewriteEngine命令需要rewrite mod的支持,$>cd /etc/apa

【转】APACHE RewriteEngine用途

首先要学会怎么设置 httpd.conf 的设置, 什么 ALL 就不用用说了 要看你的 httpd.conf 是否设置正确了,很简单,只要你在 .htaccess  里随便录入一些 比如 adbasdfasdf 之类的文件,保存,设置 htaccess 是不用重启 apache 的, 这时看下是不是网页上显示的乱码,如果是,说明你的httpd.conf 配置是正确的 义乌网络公司 技术人员经过测试,htaccess 里的内容作伪静态时, 正确的写法是这样的: RewriteEngine OnR

web网站更换新域名

第一步.绑定新的域名到单独的空间 一般我们都是用的VPS或者不限制建站数量的虚拟主机,尽量的保持原有的IP不变,我这边在老站点同IP的VPS主机下新建一个新域名站点,这样我们可以确保原有的站点IP不变,因为站点频繁的更换IP也是会受影响的. 第二步.复制数据到新站点下 把老站点下的网站文件和数据库复制到新站点下,这里其实只需要把文件搬到新站点下.因为我使用的是WORDPRESS程序,所以在数据库中修改2处网址为新的地址,其次,我用批量替换内容把牵扯到内容中的旧的URL地址改成新的网址. 第三步.

为什么下载源码包需要到官网上去下载?

1. 为什么下载源码包需要到官网上去下载? 答:官网提供的源码包更完整,无修改,无病毒,无后门. 2. 64位机器是否可以安装32位rpm包?64位机器是否可以安装32位的mysql二进制免编译包? 答:可以,但是不建议这样做,最好是安装对应版本的包,不容易出问题. 3. 编译安装apache时, 会有什么问题? 答:编译安装apache需要底层接口库apr的支持,如果不加--with-included-apr参数,会编译出错:Cannot use an external APR with th

LAMP搭建13:Apache访问控制

Apache的访问控制有两种:一是对目录进行限制,一是对文件进行限制.依次介绍这两种访问控制方式.我们的虚拟机有两个IP:一个127.0.0.1,另一个192.168.147.132.如果我们不想让其中一个IP比如127.0.0.1访问我们的网站.(其实主要是限制别人,不是限制自己,这里只是举例子) 编辑虚拟主机配置文件 [[email protected] ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 添加限制127.0.0.1

Linux 第十二周上课笔记 阿帕奇服务

apache [[email protected] ~]# yum install httpd -y [[email protected] html]# yum install httpd-manual -y 更改默认发布文件 [[email protected] html]# vim /etc/httpd/conf/httpd.conf 更改默认发布目录 [[email protected] html]# mkdir /www/westos -p [[email protected] html

thinkphp笔记

thinkphp 笔记TP框架:1.模板引擎2.MVC设计模式3.常用操作类 模板引擎和框架区别:1.模板引擎只是框架中用来做php和html分离的 MVC设计模式:M 数据模型V 视图C 控制器 V(HTML模板) --smarty()--> C(PHP逻辑控制) ->M(Model类表操作) localhost/test/index.php/模块/操作localhost/test/index.php/Index/add 目录结构ThinkPHP.php 框架入口文件Common 框架公共文

Mac OS X Yosemite 10.10 配置 Apache+PHP

查看当前系统的apache版本,终端下输入:httpd -v 1. 启动Apache 服务 sudo apachectl start 打开safari,访问:http://localhost,显示“It works!”表示Apache启动正常 当前访问的是Apache的默认目录,/Library/WebServer/Documents/ 2. 配置用户访问目录 因为之前已经配置过用户目录,这里提一下,首先创建用户目录:mkdir  ~/Sites 此时会在当前用户的根目录下创建一个Sites目录