在线客服与您一对一交流
当前位置: 主页 > 行业新闻 > IT技术 >

apache的.htaccess文件重写 RewriteRule ^index\.php$ - [L]

Rewrite重写任务基本上都是由RewriteCond和RewriteRule两个命令配合完成。

RewriteBase /规定根目录为基准路径,

RewriteCond规定重写的条件,如果条件成立,那么将会执行RewriteRule所规定的重写规则。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

这是我们开启了固定链接功能之后,wordpress给我们加上的htaccess文件

下面来解释一下各行含义

 

<IfModule mod_rewrite.c>

#如果mode_rewrite.c模块存在 则执行以下指令

RewriteEngine On

#开启rewriteEngine

RewriteBase /

#重写范围,这里/为本地顶级目录

RewriteRule ^index\.php$ – [L]

#重写规则

^index\.php$是匹配正则表达式,只匹配了index.php

后面的短线 如果我没记错的话 就是指null

NC: no case,就是说不区分大小写

R:redirect,重定向,R的含义是redirect,即重定向,该请求不会再被apache交给后端处理,而是直接返回给浏览器进行重定向跳转。301是返回的http状态码。

F:forbidden,禁止访问

L:last,表示已经是最后一条规则,.htaccess文件解析即将退出

L是last,即最后一个rewrite规则,如果请求被此规则命中,将不会继续再向下匹配其他规则。

 

%{REQUEST_FILENAME} !-f 和!-d只对下一条RewriteRule起作用。再往下的RewriteRule不管用。

RewriteCond %{REQUEST_FILENAME} !-f  (如果不是文件,才会执行下一条RewriteRule)

RewriteCond %{REQUEST_FILENAME} !-d (如果不是目录,才会执行下一条RewriteRule)

切记,只生效下一条,再下一条就不管用了,再下一条则会以全局形式匹配,没有条件判断。

 

%{REQUEST_FILENAME}表示请求的文件名

 

!-f不是一个文件

!-d不是一个目录

[L] 这是最后一个匹配项,不再往下匹配

[R]相当与redirect [NC]不区分大小写。


教程参考
https://www.softwhy.com/article-8329-1.html
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewriterule

相关文章:

  • 帝国CMS是什么程序 帝国CMS是一套开源的静态页面程序,凭借超高的扩展性,很多知名的新闻站点、行业站点都是应用的帝国CMS后端。因为帝国CMS和dedecms一样都是生成静态页面的,所以非常利于...

  • 域名解析DNS分为显性URL和隐形URL,显性URL和隐形URL有什么区别?隐形URL和显性URL哪个更有利于SEO?显性URL相当于域名了302重定向,隐形URL使用iframe框架技术隐藏真实目标地址,显性URL更有利于...

  • 在常见的CMS系统中,我对dedecms算是比较熟悉的,自己网站用的也是这个系统。系统功能强大使用灵活,相信这也是它受到大多数中小站长青睐的原因。 再好的系统也有照顾不周的地方,很多站...

  • 这篇文章主要为大家详细介绍了dedecms后台增加php导出excel功能实现办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。 不少朋友希望织梦的后台...

  • 第一次使用的插件是 pdfobject.js 百度网盘下载地址:http://pan.baidu.com/s/1kUPhYdT 加载 script src=/style/js/pdfobject.js /script script type=text/javascript window.onload = function (){ var success = new PDFObject({ url: pdf文件地...

  • 网上有一种方法是copy+unlink来移动文件,但是遇到大文件时会消耗大量时间,对性能不怎么友好,可以使用rename()来移动文件,速度非常快 关于rename()函数 bool rename ( string $oldname , string $newname...

  • 基于我们公司可选的几种推广方式: 一、关键词优化排名推广(推荐) 指定关键词推广,按天付费,推广我们业务中最重要的一些关键词,达到百度首页才收费,大概一个关键词10元/天左右。...

  • 插件介绍 wordpress程序网站在发布文章时可以给每一片文章添加与之相关的TAG标签,对于TAG标签可以生成很多页面,增加搜索引擎对内容的抓取量。 WP Auto Keywords插件就是一款能自动给文章添加...

  • 5.7 生成列表页 改动 include/arc.listview.class.php 1.先设置 关闭副栏目(在系统----系统基本参数性能选项里) 2.一般网站不需要 栏目交叉 交叉 所以 找到94行注释掉: //获得交叉栏目ID /*if($this-Type...

  • 使用preg_replace将删除所有空白(包括制表符等) $string = user na me $string = preg_replace(/\s+/, , $string); echo $string; // username preg_replace(/\s/u, ,$string) u (PCRE8) 此修正符打开一个与perl不兼容的附加功能. 模式...

  • 公司:绵阳蟠龙网络科技有限公司
  • 联系人:张经理
  • 手机/微信18681637328:
  • Q Q: 点击这里给我发消息
  • 地址:绵阳市雁塔区唐延南路11号逸翠园i都会