(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模块的更多相关文章

  1. apache 配置rewrite模块,URL中隐藏index.php

    打开httpd.conf 去掉下面的井号 #LoadModule rewrite_module modules/mod_rewrite.so把前面的警号去掉 在网站根目录添加.htaccess Rew ...

  2. 翻译:为 URL Rewrite 模块创建重写规则

    原文名称:Creating Rewrite Rules for the URL Rewrite Module 原文地址:http://www.iis.net/learn/extensions/url- ...

  3. Apache配置rewrite

    最近将代码做了迁移,更换了web服务器,从原来的Nginx,换成使用Apache,多少有些区别.这里整理一下在apache下实现rewrite功能. 第一部分:修改apache配置文件支持rewrit ...

  4. 一篇文章说透Nginx的rewrite模块

    rewrite模块即ngx_http_rewrite_module模块,主要功能是改写请求URI,是Nginx默认安装的模块.rewrite模块会根据PCRE正则匹配重写URI,然后发起内部跳转再匹配 ...

  5. [转帖]Nginx rewrite模块深入浅出详解

    Nginx rewrite模块深入浅出详解 https://www.cnblogs.com/beyang/p/7832460.html rewrite模块(ngx_http_rewrite_modul ...

  6. Nginx rewrite模块深入浅出详解

    rewrite模块(ngx_http_rewrite_module) nginx通过ngx_http_rewrite_module模块支持url重写.支持if条件判断,但不支持else.另外该模块需要 ...

  7. httpd配置Rewrite 301 302

    在系统做一些大的.比较耗时的发布的时候,往往需要停服很长时间,这期间有用户访问的话,就需要展示一个升级说明的页面,这个页面放在反向代理服务器中:反向代理服务器如httpd有请求URL重写模块,通过它可 ...

  8. Nginx学习总结:proxy与rewrite模块(三)

    斜体下划线,表示建议采用默认配置,无需显式的配置 一.ngx_http_upstream_module 此模块中可配置的指令并不是很多.nginx的负载均衡算法包括: 1)round-robin:轮询 ...

  9. 分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试

    也不说废话,直接干 上一篇 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署 中安装了 FastDFS 后,并配置启动了 Tracker 和 Storage 服务,已经可以上传文件 ...

随机推荐

  1. XCode模拟器上下黑边、显示不完整、适配问题

    其实出现上下黑边是因为iOS默认将启动时的LaunchImage的宽高当成程序的宽高,所以启动图片如果只有小屏的图片,那么就会出现大屏状态下屏幕不能满屏的错误. 解决方法: 添加所有尺寸屏幕的Laun ...

  2. Facebook开源动画库 POP-POPBasicAnimation运用

    动画在APP开发过程中还是经常出现,将花几天的时间对Facebook开源动画库 POP进行简单的学习:本文主要针对的是POPBasicAnimation运用:实例源代码已经上传至gitHub,地址:h ...

  3. Charles中如何对https抓包

    前言:下面介绍关于Charles中如何对https抓包 1.在默认没有相关设置HTTPS需要设置相关操作的时候,会出现下面的情况: 2.下面就是设置SSL Proxying,然后443是默可用的端口 ...

  4. 深入浅出Block的方方面面

    内容大纲: 1.Blocks概要 2.Blocks模式 3.Block实质(面试常问重点) 1.Blocks概要 什么是Blocks:Blocks是C语言的扩充的功能,可以用一句话来表示Blocks的 ...

  5. symfony2 twig模板引擎

    1.基本语法 Says something:{{    }} Does something:{%  %} Comment something:{#    #} {% extends "App ...

  6. jQuery jqGrid中ColModel的参数大全

    ColModel 是jqGrid里最重要的一个属性,设置表格列的属性. 用法: java 代码: jQuery("#gridid").jqGrid({  ...     colMo ...

  7. 《Unix网络编程 卷I》思维导图

    很久之前看完书总结的.这本经典教材讲的内容比较多,总结一下,方便理清思路[微笑].

  8. SQL Server 内存相关博文

    Don’t confuse error 823 and error 832 本文大意:      错误832:           A page that should have been const ...

  9. SQL 扩展事件

    在本篇,我通过使用新建“Session ”对话框来创建新的扩展事件会话.定义一个自己的扩展事件,动作和谓词,并且发布一个以收集事件数据为目的的会话. 首先从UI开始 在SQLServer2008R2以 ...

  10. 解决"is marked as crashed and should be repaired"方法

    初次遇到这个问题是在服务器上放置mysql的磁盘空间满了(数据库目录和网站目录一定要做一定的分离,不要放在一个磁盘空间了) 当请求写入数据库时,php会提示 **** is marked as cra ...