使用rewrite步骤:
首先 配置apache,启用rewrite重写机制。在httpd.conf中启用rewrite.加载重写规则模块。
格式如下:LoadModule rewrite_modulemodules/mod_rewrite.so
配置虚拟主机(基本常识之一,在hosts文件里面配置本地的域名解析。)
到 c盘 hosts文件添加你的 ip 和 域名对应
格式:127.0.0.1 www.XX.com
然后在 http.conf 文件中启用虚拟主机 Virtual hosts 启用虚拟主机。相当于加载一个拓展。
格式:Include conf/extra/httpd-vhosts.conf
其次: 配置 httpd_vhosts.conf文件
在<Direcotry >段的配置,默认值,是在httpd.conf 的中配置,看根目录.
<VirtualHost *:80>
#ServerAdmin webmaster@dummy-host2.somenet.com
#文档的根目录
DocumentRoot "E:/website path/"
#域名
ServerName www.hsp.com
#配置rewrite相关选项,
<Directory "E:/website path">
#拒绝所有的访问
#Deny from all
Allow from all
#是否显示列表(在发布项目后一般是不启用,对于这个配置,针对 DocumentRoot在htdos外的目录生效)
#Options +indexes
#是否启用rewrite
#Allowoverride all
</Directory>
</VirtualHost>
4.在目录下添加了一个 .htaccess 文件,这个文件时配置rewrite机制和规则
<IfModule rewrite_module>
#写你的rewrite规则
RewriteEngine On(打开重写引擎)
#news-id(\d+)\.html$ 是规则 news.php?id=$1 是转发的页面
#正则子表达式 捕获 反向引用
# 可以配置多个规则,匹配的顺序是从上到下
RewriteRule news-id(\d+)\.html$ news.php?id=$1
RewriteRule news-id(\d+)\.html$ error.php
</IfModule>
在正则表达式里用()括起来的东西,在后面依次使用$1、$2来引用,叫做匹配项。
版权声明:本文为博主原创文章,未经博主允许不得转载。