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 服务,已经可以上传文件 ...
随机推荐
- iOS如何获取网络图片(二)
ios如何获取图片(二)无沙盒下 解决问题 *解决问题1:tableView滑动卡顿,图片延时加载 解决方法:添加异步请求,在子线程里请求网络,在主线程刷新UI *解决问题2:反复请求网络图片,增加用 ...
- iOS 杂笔-24(常用类到NSObject的继承列表)
iOS 杂笔-24(常用类到NSObject的继承列表) NSString NSObject->NSString NSArray NSObject->NSArray ↑OC基本类都直接继承 ...
- Android 数据库SQLite 写入SD卡
如果手机没有root,数据库文件是无法查看到的,不方便调试. 最好的办法是把数据库写进SD卡. 修改的地方有两处: 1.在你的helper类中把数据库文件名称 DATABASE_NAME 由原来的一个 ...
- 1. 从系统架构到Hello World
Android起源与发展: Android操作系统最初在2003年的时候由Andy Rubin开发,主要支持手机.2005年8月由Google收购注资.2007年11月,Google与84家硬件制造商 ...
- IOS开发之功能模块--给任意的UIView添加点击事件
前言:好久没写博客,今天来一波.我在实际项目开发中,会遇到这样功能需求:我已经搭好了iOS的UI界面,但是很多界面的子View用了UIView,然后这些UIView中用了UILabel和UIImage ...
- php示例代码之使用MySQLi接口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- jQuery中find和filter的区别
本文来自:http://blog.csdn.net/woshixuye/article/details/7255260 这是jQuery里常用的2个方法. 他们2者功能是完全不同的,而初学者往往会被误 ...
- dpdk在虚拟机上出错处理
目录 1. 所用系统与软件版本 2. 虚拟机配置 3. Ubuntu 12.04上的配置 3.1 准备 3.2 通过setup脚本进行配置 3.3 通过命令配置 4. CentOS 7.0上的配置 4 ...
- Seafile内部云盘
软件列表 软件 版本 备注 centos 6.4 x86_64 64位系统 mysql mysql5.5.49 本机使用 python 2.7 seafile 依赖python pip 8.1.2 安 ...
- A coroutine example: Streaming XML parsing using xml_parser
<?php error_reporting(E_ALL); /* Data can be send to coroutines using `$coroutine->send($data) ...