xml地图|网站地图|网站标签 [设为首页] [加入收藏]

Apache伪静态Rewrite详解

来源:http://www.ccidsi.com 作者:集成介绍 人气:182 发布时间:2019-06-12
摘要:一、Rewrite规则简要介绍: Rewirte主要的意义便是落实U大切诺基L的跳转,它的正则表明式是基于Perl语言。可依赖服务器级的(httpd.conf)和目录级的(.htaccess)二种办法。若是要想用到rewrite模

一、Rewrite规则简要介绍:
Rewirte主要的意义便是落实U大切诺基L的跳转,它的正则表明式是基于Perl语言。可依赖服务器级的(httpd.conf)和目录级的 (.htaccess)二种办法。若是要想用到rewrite模块,必须先安装或加载rewrite模块。方法有二种一种是编译apache的时候就一贯安装rewrite模块,别1种是编写翻译apache时以DSO格局安装apache,然后再接纳源码和apxs来安装rewrite模块。
贰、在Apache配置中启用Rewrite
开发配置文件httpd.conf:

CentOS下apache rewrite 配置

一、Rewrite规则简单介绍:
Rewirte重要的成效正是促成U悍马H贰L的跳转,它的正则表明式是基于Perl语言。可依据服务器级的(httpd.conf)和目录级的 (.htaccess)二种方法。借使要想用到rewrite模块,必须先安装或加载rewrite模块。方法有三种壹种是编写翻译apache的时候就向来安装rewrite模块,别1种是编写翻译apache时以DSO格局安装apache,然后再接纳源码和apxs来设置rewrite模块。
贰、在Apache配置中启用Rewrite
开荒配置文件httpd.conf:

复制代码代码如下:
1.启用rewrite
# LoadModule rewrite_module modules/mod_rewrite.so 去除前边的 #

2.启用.htaccess
在虚拟机配置项中
AllowOverride None 修改为: AllowOverride All

二、Rewrite基本写法
服务器有安顿文件不或者由大家来改,所以基本上情状下要在网址的根目录下建八个.htaccess文本。
复制代码代码如下:
RewriteEngine on //启动rewrite引擎
RewriteRule ^/index([0-9]*).html$ /index.php?id=$1 //“([0-9]*)” 代表范围 用(.*)代表全体,下同。
RewriteRule ^/index([0-9]*)/$ /index.php?id=$1 [R] //虚拟目录
三、Apache mod_rewrite规则重写的标记一览
1) R[=code](force redirect) 强制外部重定向
强制在代表字符串加上 HTTP状态码。
2) F(force URL to be forbidden)禁用URL,返回403HTTP状态码。
3) G(force URL to be gone) 强制URL为GONE,返回410HTTP状态码。
肆) P(force proxy) 强制行使代理转载。
五) L(last rule) 证明当前规则是终极一条规则,结束深入分析以往规则的重写。
陆) N(next round) 重新从第2条规则开始运营重写过程。
七) C(chained with next rule) 与下一条规则关联
若是规则相称则平常管理,该标识无效,借使不相配,那么下边全数涉及的平整都跳过。
8) T=MIME-type(force MIME type) 强制MIME类型
9) NS (used only if no internal sub-request) 只用于不是内部子请求
十) NC(no case) 不区分轻重缓急写
1一) QSA(query string append) 追加请求字符串
1二) NE(no U汉兰达I escaping of output) 不在输出转义特殊字符
例如:RewriteRule /foo/(.*) /bar?arg=P1=$1 [R,NE] 将能科学的将/foo/zoo转换到/bar?arg=P1=zoo
一三) PT(pass through to next handler) 传递给下1个拍卖
例如:
复制代码代码如下:RewriteRule ^/abc(.*) /def$1 [PT] # 将会提交/def规则管理
Alias /def /ghi
14) S=num(skip next rule(s)) 跳过num条规则
1五) E=VA福睿斯:VAL(set environment variable) 设置情状变量**

四、Apache rewrite例子
例子一:
与此同期达到下边四个供给:
1.用 来访问
2.用 来访问 的功能

复制代码代码如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.jb51.net
RewriteCond %{REQUEST_URI} !^user.php$
RewriteCond %{REQUEST_URI} .php$
RewriteRule (.*).php$ [R]
RewriteCond %{HTTP_HOST} !^www.jb51.net
RewriteRule ^(. ) %{HTTP_HOST} [C]
RewriteRule ^([^.] ).jb51.net

例子二:

复制代码代码如下:
/type.php?typeid=* –> /type*.html
/type.php?typeid=*&page=* –> /type*page*.html

RewriteRule ^/type([0-9] ).html$ /type.php?typeid=$1 [PT]
RewriteRule ^/type([0-9] )page([0-9] ).html$ /type.php?typeid=$1&page=$2 [PT]

rewrite 配置 1、Rewrite规则简介: Rewirte重要的效率正是兑现UENVISIONL的跳转,它的正则表明式是基于Perl语言。可遵照服务器级的(htt...

复制代码 代码如下:

  1. 先是鲜明你使用的 Apache 版本,及是不是加载了 mod_rewrite 模块。及是或不是加载了 mod_rewrite 模块 . mod_rewrite 的是多少个 Apache 模块,可使服务器垄断(monopoly)请求的网站。依照1多元规则对传播的网站实行检查,规则中带有1个正则表明式来检查测试特定的格式。 假如在地点中开采了二个格式,并且满足适当的规范,该格式就能够被贰个代替的字符串可能是动作代替。

1.启用rewrite
# LoadModule rewrite_module modules/mod_rewrite.so 去除后边的 #

Apache 一.x 的用户请检查 conf/httpd.conf 中是或不是留存如下两段代码:

2.启用.htaccess
在虚拟机配置项中
AllowOverride None    修改为: AllowOverride All

清单 一. Apache 一.x 的加载模块代码

贰、Rewrite基本写法 服务器有布署文件不容许由我们来改,所以基本上情形下要在网址的根目录下建一个.htaccess文件。

 LoadModule rewrite_module libexec/mod_rewrite.so 
  AddModule mod_rewrite.c

复制代码 代码如下:

Apache 二.x 的用户请检查 conf/httpd.conf 中是不是存在如下壹段代码:

RewriteEngine on    //启动rewrite引擎
RewriteRule ^/index([0-9]*).html$ /index.php?id=$1   //“([0-9]*)” 代表范围 用(.*)代表全数,下同。
RewriteRule ^/index([0-9]*)/$ /index.php?id=$1 [R]   //虚拟目录

清单 二. Apache 贰.x 的加载模块代码

本文由68399皇家赌场发布于集成介绍,转载请注明出处:Apache伪静态Rewrite详解

关键词: 68399皇家赌场

最火资讯