Home > php教程 > php手册 > PHP伪静态Rewrite设置之APACHE篇

PHP伪静态Rewrite设置之APACHE篇

WBOY
Release: 2016-06-06 20:19:49
Original
1297 people have browsed it

Rewirte主要的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正则表达式规范。平时帮助我们实现拟静态,拟目录,域名跳转,防止盗链等

 一、Apache配置:
 
1、支持httpd.conf 配置
2、支持目录 .htaccess配置(一种"分布式配置"文件针对虚拟空间,空间商不让修改Apache配置文件)
 
启用Rewrite(httpd.conf)
(有时候Options Indexes FollowSymLinks会出问题,,只需要配置Options all即可)

LoadModule rewrite_module modules/mod_rewrite.so

 
启用.htaccess
AllowOverride None    修改为:AllowOverride All
 
二、mod_rewrite 规则:
例如:

RewriteEngine on ->启动rewrite引擎 RewriteRule ^/test([0-9]*).html$ /test.php?id=$1    ->指访问test加任意字段.html都能跳转到test.php 正则匹配的字段存放在虚拟内存匹配$1

 
三、mod_rewrite规则修正符
 
1) R 强制外部重定向
2) F 禁用URL,返回403HTTP状态码。
3) G 强制URL为GONE,返回410HTTP状态码。
4) P 强制使用代理转发。
5) L 表明当前规则是最后一条规则,停止分析以后规则的重写。
6) N 重新从第一条规则开始运行重写过程。
7) C 与下一条规则关联
 
如果规则匹配则正常处理,以下修正符无效
 
8) T=MIME-type(force MIME type) 强制MIME类型
9) NS  只用于不是内部子请求
10) NC 不区分大小写
11) QSA 追加请求字符串
12) NE 不在输出转义特殊字符   \%3d$1  等价于 =$1
 
 
例如:

RewriteRule ^/new([0-9]*)/$ /new.php?id=$1 [R]

 
 
简单小范例:

RewriteEngine on RewriteRule ^/in(.*).html$ /index.php

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template