1、修改文件:Apache2.X.X/conf/httpd.conf
找到这一行# LoadModule rewrite_module modules/mod_rewrite.so,将前面的#删除
2、 查找所有的AllowOverride,将后面的none修改为ALL
<Directory />
Options FollowSymLinks
AllowOverride ALL //就是这一行
Order deny,allow
Allow from all
Satisfy all
</Directory>
3、 重新启动Apache
4、 再配上针对于你的程序设计的.htaccess文件,就可以静态化网页。
如用虚拟主机时,为每个虚拟主机单独指定.htaccess,如
Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "E:/website/webdir"
ServerName www.mysite.cn
<Directory />
Options FollowSymLinks
AllowOverride ALL
Order deny,allow
allow from all
Satisfy all
</Directory>
AccessFileName .htaccess //本行
</VirtualHost>
.htaccess示例:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule index.html index.php
RewriteRule about.html about.php
RewriteRule about([0-9]+).html$ about.php?aid=$1
RewriteRule news.html news.php
RewriteRule news([0-9]+).html$ news.php?nid=$1
RewriteRule news([0-9]+)_([0-9]+).html$ news.php?nid=$1&page=$2
RewriteRule newspage([0-9]+).html$ news.php?act=page&id=$1
RewriteRule product.html product.php
RewriteRule product([0-9]+).html$ product.php?pid=$1
RewriteRule product([0-9]+)_([0-9]+).html$ product.php?pid=$1&page=$2
RewriteRule productpage([0-9]+).html$ product.php?act=page&id=$1
RewriteRule product_cart.html product_cart.php
RewriteRule productpage([0-9]+).html$ product.php?act=page&id=$1
RewriteRule guest.html$ guest.php
RewriteRule guestact.html$ guest.php?act=add
RewriteRule guestmanager.html$ guest.php?act=manager
</IfModule>
上例中的
RewriteRule news.html news.php
在PHP页面里面我们可以把链接写成 news.html 的形式,Apache在解析这个 URL的时候会rewrite成 news.php的形式,并返回正确的页面。
RewriteRule news([0-9]+)_([0-9]+).html$ news.php?nid=$1&page=$2
在PHP页面里面我们可以把链接写成 news11122_10.html 的形式,Apache在解析这个 URL的时候会rewrite成news.php?nid=11122&page=10的形式,并返回正确的页面。
RewriteRule productpage([0-9]+).html$ product.php?act=page&id=$1
在PHP页面里面我们可以把链接写成 productpage19.html 的形式,Apache在解析这个 URL的时候会rewrite成product.php?act=page&id=19的形式,并返回正确的页面。
运用正则表达式我们可以实现几乎任何我们想要的链接形式,mod_rewrite模块的功能异常强大,这里只是一个及其简单的应用。
.htaccess相关介绍
htaccess的特别说明
* 启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用
* 如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:
AccessFileName .config
* 一般情况下,不应该使用. htaccess文件,除非你对主配置文件没有访问权限。有一种很常见的误解,认为用户认证只能通过.htaccess文件实现,其实并不是这样,把用户认证写在主配置文件中是完全可行的,而且是一种很好的方法。.htaccess文件应该被用在内容提供者需要针对特定目录改变服务器的配置而又没有 root权限的情况下。如果服务器管理员不愿意频繁修改配置,则可以允许用户通过.htaccess文件自己修改配置,尤其是ISP在同一个机器上运行了多个用户站点,而又希望用户可以自己改变配置的情况下。虽然如此,一般都应该尽可能地避免使用.htaccess文件。任何希望放在.htaccess文件中的配置,都可以放在主配置文件的<Directory>段中,而且更高效。避免使用.htaccess文件有两个主要原因,即性能和安全。
附:
在线 .htaccess文件生成器
http://cooletips.de/htaccess/
能够在线生成. htaccess文件,很简单的就配置重定向,系统错误文件等。
.htaccess编辑器在线编辑器
可自定义默认编码,错误页面等等
下载地址: http://9458398.cn/attachments/month_0506/zxp4_my.rar
.htaccess文件使用教程目录:
.htaccess文件使用教程1| .httacces文件介绍与创建
.htaccess文件使用教程2| .httacces文件的配置
.htaccess文件使用教程3| .httacces文件的密码保护和防止盗链
.htaccess文件使用教程4| .htaccess 文件使用教程总结