1. 配置 apache, 启用 rewrite 机制
在 httpd.conf 中启用 rewrite
LoadModule rewrite_module modules/mod_rewrite.so
2. 配置虚拟主机
到 c 盘 hosts 文件添加你的 ip 和 域名对应
127.0.0.1 www.hsp.com
在 http.conf 文件中启用虚拟主机
# Virtual hosts 启用虚拟主机
Include conf/extra/httpd-vhosts.conf
3. 配置 httpd_vhosts.conf 文件
在
#ServerAdmin [email protected]
# 文档的根目录
DocumentRoot "C:/myenv/apache/htdocs/static3"
# 域名
ServerName www.hsp.com
ErrorLog "logs/dummy-host2.somenet.com-error.log"
#CustomLog "logs/dummy-host2.somenet.com-access.log" common
# 配置 rewrite 相关选项 ,
# 拒绝所有的访问
#Deny from all
Allow from all
# 是否显示列表 ( 在发布项目后一般是不启用 , 对于这个配置,针对 DocumentRoot 在 htdos 外的目录生效 )
#Options +indexes
# 是否启用 rewrite
#Allowoverride all
4. 在目录下添加了一个 .htaccess 文件,这个文件时配置 rewrite 机制和规则
# 写你的 rewrite 规则
RewriteEngine On
#news-id(\d+)\.html$ 是规则 news.php?id=$1 是转发的页面
# 正则 子表达式 捕获 反向引用
# "news-id33.html"
# 可以配置多个规则,匹配的顺序是从上到下
RewriteRule news-id(\d+)\.html$ news.php?id=$1
RewriteRule news-id(\d+)\.html$ error.php
综合使用案例
1. 这个 rewrite 的规则也直接在 < Direcotry > 段直接配置
# 拒绝所有的访问
#Deny from all
Allow from all
# 是否显示列表 ( 在发布项目后一般是不启用 , 对于这个配置,针对 DocumentRoot 在 htdos 外的目录生效 )
#Options +indexes
# 是否启用 rewrite
Allowoverride all
# 我们有时候,也可以把 rewrite 机制和规则写这里
#RewriteEngine On
#RewriteRule news-id(\d+)\.html$ news.php?id=$1
使用伪静态来完成简单的新闻查询 .
☞ 伪静态是站在 seo 角度看 ., 他对于的页面不是存在的,而是每次查询数据库得到的信息 ,
真静态的页面是真的存在 .