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

Apache下rewrite配置

2015-11-23 13:49 736 查看
一.配置虚拟域名。

1.找到Apache的安装目录,打开配置文件,我本地的环境是D盘下面,具体的要看你的Apache的安装目录,打开httpd.conf配置文件

2.开启相关模式:

LoadModule rewrite module modules/mod_rewrite.so

Include conf/extra/httpd-vhosts.conf

3.vhosts文件增加相关域名配置:

打开vhosts.conf添加如下代码:

<VirtualHost 127.0.0.19:80>

    ServerAdmin webmaster@dummy-host.state.com

    DocumentRoot "D:/ww"

    ServerName state.com

    ErrorLog "logs/state.com-error.log"

    CustomLog "logs/state.com-access.log" common

</VirtualHost>

4.打开我的电脑C盘,Windows->System32->drivers->etc->hosts增添:
127.0.0.19      state.com

 二.  伪静态

  打开vhost-conf .写一个正则匹配是为了把动态地址向伪静态转化。

  RewriteRule ^/detail/([0-9]*).html$(注意,这里有一个空格) /detail.php?id=$1

    然后再打开

    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-d

    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-f

    打开这2个是因为:如果服务器上面存在state.com/detail/3.html的文件时,会读取这个文件,而不是伪静态转换。

<VirtualHost 127.0.0.19:80>
ServerAdmin webmaster@dummy-host.state.com
DocumentRoot "D:/ww"
ServerName state.com
ErrorLog "logs/state.com-error.log"
CustomLog "logs/state.com-access.log" common

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}!-f
RewriteRule ^/detail/([0-9]*).html$ /detail.php?id=$1

</VirtualHost>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: