您的位置:首页 > 运维架构 > Apache

apache的 重写

2014-03-27 10:52 323 查看
1、检测Apache是否支持mod_rewrite

通过使用php提供的phpinfo()函数查看环境配置,通过ctrl+F查找'Load

Modules',其中列出了所有apacheheader已经打开的模块,如果里面包

括'mod_rewrite',则已经支持,不需要设置。

如果没有开启'mod_rewrite',则打开目录 你的apache安装目

录'apache/conf/'下的httpd.conf文件,通过Ctrl+F查找到'LoadModule

rewrite_module modules/mod_rewrite.so',将前面的'#'号删除即可。

如果没有找到,则到'LoadModule'区域,在最后一行加入'LoadModule

rewrite_module modules/mod_rewrite.so'(必须独立一行),然后重启

Apache服务器即可。

2、在httpd.conf中配置虚拟主机

# Virtual hosts启用虚拟主机

Include conf/extra/httpd-vhosts.conf

3、httpd_vhosts.conf文件中,配置相应的选项。

<VirtualHost *:80>

DocumentRoot "D:/www/aa/"

ServerName www.zixue.com

<Directory 'D:/www/aa/'>

#Deny from All 403错误提示

All from all

#如果文件目录在apache目录外面,注释点options则,不能列表

option +Indexs

#下面这个表示可以去读取.htaccess文件,也可以直接在虚拟主机

中配置

AllowOverride All

RewriteEngine On

RewriteRule new-id(\d).html$ error.php?id=$1

#这里可以设置多个重写规则

#

</Directory>

</VirtualHost>

4、在相应的目录下编写.htaccess重写规则

如果是在Linux下可以直接创建

如果是在Windows平台,用记事本创建一个文件,比如bac.txt,然后另存

为.htaccess文件即可

5、重写规则,可以直接将在配置虚拟主机的<Directory>段配置。

rewrite规则介绍

我们新建一个.htaccess文件后,就在里面写入内容:

RewriteEngine on #rewriteengine为重写引擎开启 on为打开,off为关闭

快速入门案例

RewriteRule ([0-9]{1,})$ index.php?id=$1

讲解:

RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是值由

数字组成,$是结束标志,说明是以数字结束!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: