php配置rewrite模块
转
(1) 启用rewrite模块,在默认情况下,没有启用
修改httpd.conf文件
#启动rewrite模块
LoadModule rewrite_module modules/mod_rewrite.so
确认是否启动成功
<?php phpinfo();?>
(2) 配置我们的虚拟主机
httpd.conf 打开虚拟主机的配置文件
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
修改 httpd-vhost.conf
<VirtualHost *:80>
DocumentRoot "C:/myenv/apache/htdocs/static2"
#Directory配置节点,用于指定该目录下的文件或是图片.的访问权限
#设置虚拟主机的错误页面,欢迎页面
<Directory "C:/myenv/apache/htdocs/static2">
</Directory>
</VirtualHost>
(3) 在hosts文件中,配置ip和主机的对应关系
127.0.0.1 www.hsp.com
(4) 这时我们访问 http//www.hsp.com/news.php
我们可以访问到该页面.
☞ 一个重要的知识点:
在apache服务器中,如果某个文件夹,没有指定访问权限,则以上级目录的权限为准,如果他自己指定了访问权限,则以自己的为准.
请注意,在配置访问权限的时候,顺序很重要:
#Order allow,deny 表示先看allow ,在看deny,留下的就是可以访问
Order deny,allow
Deny from all
allow from 127.0.0.1
(5) 关于<Directory> 节点配置必须掌握
比较完整的配置文件
第一种配置方式
<VirtualHost *:80>
DocumentRoot "C:/myenv/apache/htdocs/static2"
#Directory配置节点,用于指定该目录下的文件或是图片.的访问权限
#设置虚拟主机的错误页面,欢迎页面
ServerName www.hsp.com
<Directory "C:/myenv/apache/htdocs/static2">
#这里可以指定是否让人访问
#Allow from all
#是否列出文件目录结构
# 如果希望列出 indexes 不希望 none
#Options indexes
#如何配置网站的首页面
DirectoryIndex abc.html abc2.html
#如何配置404错误页面,引导用户引入新页面
errorDocument 404 /404.html
#配置我们的rewrite规则
RewriteEngine On
#rewrite的规则 如果 aaa.html 就跳转到news.php
#$1 表示反向引用,第一个子表达式的内容
#说明如果在正则规范中直接引用子表达式的内容,则使用\n
#如果是在后面因为,则使用$n
RewriteRule news-([a-zA-Z]+)-id(\d+)\.html$ news.php?type=$1&id=$2
</Directory>
</VirtualHost>
特别说明: 容易犯的错误,一定要记住启用rewrite模块.
思考: 上面我们配置都要去修改 httpd-vhost.文件,但管理员不给你这个权限,怎么办?
思路: 可以把配置,写到 .htaccess文件.
第二种配置方式: 即把一部分配置放在 http-vhost.conf 文件, 把rewrite 规则放在 .htaccess
<VirtualHost *:80>
DocumentRoot "C:/myenv/apache/htdocs/static2"
#Directory配置节点,用于指定该目录下的文件或是图片.的访问权限
#设置虚拟主机的错误页面,欢迎页面
ServerName www.hsp.com
<Directory "C:/myenv/apache/htdocs/static2">
#这里可以指定是否让人访问
#Allow from all
#是否列出文件目录结构
# 如果希望列出 indexes 不希望 none
#Options indexes
#如何配置网站的首页面
DirectoryIndex abc.html abc2.html
#如何配置404错误页面,引导用户引入新页面
errorDocument 404 /404.html
#如果你配置了allowoverride all 这表示到对应的目录的.htaccess去匹配规则
allowoverride all
</Directory>
</VirtualHost>
在对应的文件下 .htaccess文件
<IfModule rewrite_module>
#如果rewrite 模块启用
#配置我们的rewrite规则
RewriteEngine On
#rewrite的规则 如果 aaa.html 就跳转到news.php
#$1 表示反向引用,第一个子表达式的内容
#说明如果在正则规范中直接引用子表达式的内容,则使用\n
#如果是在后面因为,则使用$n
RewriteRule news-([a-zA-Z]+)-id(\d+)\.html$ news.php?type=$1&id=$2
#RewriteRule aaa.html news.php
</IfModule>
请注意: 项目中的 .htaccess文件的配置也是继承管理
第三种配置方法:
http-vhost.conf
<VirtualHost *:80>
DocumentRoot "C:/myenv/apache/htdocs/static2"
#Directory配置节点,用于指定该目录下的文件或是图片.的访问权限
#设置虚拟主机的错误页面,欢迎页面
ServerName www.hsp.com
<Directory "C:/myenv/apache/htdocs/static2">
#如果你配置了allowoverride all 这表示到对应的目录的.htaccess去匹配规则
allowoverride all
</Directory>
</VirtualHost>
.htacces文件
#这里可以指定是否让人访问
#Allow from all
#是否列出文件目录结构
# 如果希望列出 indexes 不希望 none
#Options indexes
#如何配置网站的首页面
DirectoryIndex abc.html abc2.html
#如何配置404错误页面,引导用户引入新页面
errorDocument 404 /404.html
<IfModule rewrite_module>
#如果rewrite 模块启用
#配置我们的rewrite规则
RewriteEngine On
#rewrite的规则 如果 aaa.html 就跳转到news.php
#$1 表示反向引用,第一个子表达式的内容
#说明如果在正则规范中直接引用子表达式的内容,则使用\n
#如果是在后面因为,则使用$n
RewriteRule news-([a-zA-Z]+)-id(\d+)\.html$ news.php?type=$1&id=$2
#RewriteRule aaa.html news.php
</IfModule>
php配置rewrite模块的更多相关文章
- apache 配置rewrite模块,URL中隐藏index.php
打开httpd.conf 去掉下面的井号 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 在网站根目录添加.htaccess Rew ...
- 翻译:为 URL Rewrite 模块创建重写规则
原文名称:Creating Rewrite Rules for the URL Rewrite Module 原文地址:http://www.iis.net/learn/extensions/url- ...
- Apache配置rewrite
最近将代码做了迁移,更换了web服务器,从原来的Nginx,换成使用Apache,多少有些区别.这里整理一下在apache下实现rewrite功能. 第一部分:修改apache配置文件支持rewrit ...
- 一篇文章说透Nginx的rewrite模块
rewrite模块即ngx_http_rewrite_module模块,主要功能是改写请求URI,是Nginx默认安装的模块.rewrite模块会根据PCRE正则匹配重写URI,然后发起内部跳转再匹配 ...
- [转帖]Nginx rewrite模块深入浅出详解
Nginx rewrite模块深入浅出详解 https://www.cnblogs.com/beyang/p/7832460.html rewrite模块(ngx_http_rewrite_modul ...
- Nginx rewrite模块深入浅出详解
rewrite模块(ngx_http_rewrite_module) nginx通过ngx_http_rewrite_module模块支持url重写.支持if条件判断,但不支持else.另外该模块需要 ...
- httpd配置Rewrite 301 302
在系统做一些大的.比较耗时的发布的时候,往往需要停服很长时间,这期间有用户访问的话,就需要展示一个升级说明的页面,这个页面放在反向代理服务器中:反向代理服务器如httpd有请求URL重写模块,通过它可 ...
- Nginx学习总结:proxy与rewrite模块(三)
斜体下划线,表示建议采用默认配置,无需显式的配置 一.ngx_http_upstream_module 此模块中可配置的指令并不是很多.nginx的负载均衡算法包括: 1)round-robin:轮询 ...
- 分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试
也不说废话,直接干 上一篇 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署 中安装了 FastDFS 后,并配置启动了 Tracker 和 Storage 服务,已经可以上传文件 ...
随机推荐
- swift 2.2 语法 (下)
前言: 1.此文中的语法会根据Swift的升级变动而更新. 2.如果需要请移步 -> swift2.2 语法(上).swift 2.2语法(中) 类的析构函数 swift会自动释放不需要的实例来 ...
- 【代码笔记】iOS-判断是否是模拟机
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. ...
- .NET读写Excel工具Spire.XlS使用(DataExport )
Introduction E-ICEBLUE is developing office.net component, the main products include Spire.Doc, Spir ...
- 《Unix网络编程 卷I》思维导图
很久之前看完书总结的.这本经典教材讲的内容比较多,总结一下,方便理清思路[微笑].
- Javascript 优化项目代码技巧之语言基础(二)
上一篇随笔介绍了如何正确判断对象类型.避免变量污染,特殊值(null.undefined.NaN)的使用,以及其他Javascript中常用关键字与方法的优化,这篇随笔将着重介绍Javascr ...
- maven-shade-plugin
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...
- Java synchronized同步 各方式略解
近段为了实现一个功能,在树结构中,修改某个节点名称时,需要同时修改这个节点所有子节点的节点全路径属性字段(类似"父父节点名称/父节点名称/子节点名称/子子节点名称"的构造).因为在 ...
- SQL Server中的RAND函数的介绍和区间随机数值函数的实现
工作中会遇到SQL Server模拟数据生成以及数值列值(如整型.日期和时间数据类型)随机填充等等任务,这些任务中都要使用到随机数.鉴于此,本文将对SQL Server中随机数的使用简单做个总 ...
- Qt使用自带的windeployqt 生成exe来发布软件
集成开发环境 QtCreator 目前生成图形界面程序 exe 大致可以分为两类:Qt Widgets Application 和 Qt Quick Application.下面分别介绍这两类exe ...
- PHP正确的使用复数
<?php // 正确地显示复数 if(!function_exists('_plurals_format')) { /** * 正确的使用复数 * @access public * @auth ...