PHP伪静态Rewrite设置之APACHE篇
标题:mod_rewrite的功能与应用:基于Perl正则表达式的URL跳转与隐藏真实地址的艺术
在现代的Web应用中,URL的跳转和隐藏真实地址是一个重要的功能。这不仅可以提高用户体验,还能增加网站的安全性。基于Perl语言的正则表达式规范的mod_rewrite模块,在Apache服务器中扮演了关键角色。它帮助我们实现拟静态、拟目录、域名跳转,防止盗链等多种功能。
一、Apache配置
Apache的配置文件httpd.conf支持mod_rewrite模块的配置。对于使用分布式配置文件.htaess的空间商,我们也可以通过修改AllowOverride选项来启用mod_rewrite。在httpd.conf中启用Rewrite模块非常简单,只需加载rewrite_module模块即可。
二、mod_rewrite规则详解
mod_rewrite规则基于强大的正则表达式,允许我们精确地匹配和重定向URL。例如,我们可以使用RewriteRule指令将形如"/testXXX.html"的URL重定向到"test.php",其中"XXX"可以是任何数字。正则匹配的字段(如上述例子中的"[0-9]")会存放在虚拟内存匹配$1中。
三、mod_rewrite规则修正符
1. R:强制外部重定向。
2. F:禁用URL,返回403HTTP状态码。
3. G:强制URL为GONE,返回410HTTP状态码。
4. P:强制使用代理转发。
7. C:与下一条规则关联。
如果规则匹配,则正常处理,以下修正符无效。还有一些其他的修正符,如强制MIME类型、只用于不是内部子请求、不区分大小写、追加请求字符串、不在输出转义特殊字符等。
四、实际应用示例
让我们看一个简单的范例,将形如"/newXXX/"的URL重定向到"new.php",其中"XXX"是数字。我们可以使用以下mod_rewrite规则实现这一功能:
```apache
RewriteEngine on
RewriteRule ^/new([0-9]+)/$ /new.php?id=$1 [R]
```
编程语言
- PHP伪静态Rewrite设置之APACHE篇
- 采用ThinkPHP中F方法实现快速缓存实例
- 微信小程序 登陆流程详细介绍
- 用js实现QQ在线查询功能
- ASP.NET Core 中的模型绑定操作详解
- JSP的出错处理
- JavaScript按值删除数组元素的方法
- php实现上传图片保存到数据库的方法
- jQuery插件zepto.js简单实现tab切换
- laravel5 使用try catch的实例详解
- js 点击a标签 获取a的自定义属性方法
- asp对复杂json的解析一定要注意要点
- 解决vue.js this.$router.push无效的问题
- Vue resource三种请求格式和万能测试地址
- php 三大特点:封装,继承,多态
- jQuery在页面加载时动态修改图片尺寸的方法