apache 虚拟主机和 rewrite 配置及 rewrite规则解释

如何使用rewrite步骤:

1.     配置apache,启用rewrite机制,修改httpd.conf

在httpd.conf中启用rewrite

LoadModule rewrite_module modules/mod_rewrite.so      #如果没有这一行则在配置文件中添加这一行

2.     配置虚拟主机

修改 hosts文件添加你的 ip
和域名对应,如下事例

127.0.0.1      
www.yaf.com

在 http.conf
文件中启用虚拟主机

# Virtual hosts
启用虚拟主机

Include conf/extra/httpd-vhosts.conf
#这一行是包含虚拟主机的配置文件

3. 修改 httpd_vhosts.conf文件,配置虚拟主机并支持rewrite

<Direcotry >段的配置,默认值,是在httpd.conf
的中配置,看根目录.

<VirtualHost *:80>

#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相关选项,

<Directory "C:/myenv/apache/htdocs/static3">

#拒绝所有的访问

#Deny from all

Allow from all
#允许所有访问

#是否显示列表(在发布项目后一般是不启用,对于这个配置,针对
DocumentRoot在htdos外的目录生效)

#Options +indexes

#是否启用rewrite

Allowoverride  all
#启用rewrite

</Directory>

</VirtualHost>

4.在目录下添加了一个 .htaccess  文件,这个文件时配置rewrite机制和规则,这个文件要和项目的入口文件index.php在同一个目录下

<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>

5、    这个rewrite的规则也直接在 <Direcotry > 段直接配置

<Directory "C:/myenv/apache/htdocs/static3">

#拒绝所有的访问

#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

</Directory>

配置好后要记得重启apache服务

时间: 2024-10-20 09:06:33

apache 虚拟主机和 rewrite 配置及 rewrite规则解释的相关文章

Apache虚拟主机及别名配置

Apache虚拟主机配置 增加监听端口(修改conf/httpd.conf文件) Listen 127.0.0.1:8092 修改主站点权限(修改conf/httpd.conf文件) <Directory /> AllowOverride none # Require all denied </Directory> 允许虚拟主机配置(修改conf/httpd.conf文件) # Virtual hosts Include conf/extra/httpd-vhosts.conf 增

apache虚拟主机三种配置方式

直奔主题!!! 使用虚拟主机必须要注释掉httpd的主机模块,即修改httd.conf的主配置文件,找到<DirectoryROOT " XXXXXX">,将这段内容注释掉就可以了. apche的虚拟主机配置一共有三种,即基于IP.基于port.以及基于域名的.为了后面试验,需要配置两个IP地址(我主机现在的IP地址是10.10.50.100),命令如下: #ip addr add 10.10.50.101/16 dev eth0 #ip addr add 10.10.50

Apache虚拟主机配置详解

1.配置环境说明 系统环境:CentOS7 Apache环境:编译安装的httpd-2.4.7 系统限制:关闭了防火墙和selinux hosts文件中配置以下域名解析 192.168.115.150    www.web1.com 192.168.115.150    www.web2.com 2.Apache虚拟主机简介 虚拟主机是指在一个机器上运行多个网站(例如:www.web1.com和www.web2.com).每个站点希望用不同的域名和站点目录,或者是不同端口.不同的IP就需要虚拟主

IP、Apache虚拟主机配置部分学习笔记

IP地址 IP地址就是计算机的一个"编号",该编号是唯一的.相当于我们的身份证号码一样. IP地址格式:a.b.c.d  ,每一段的取值范围0-255. 本机的IP地址:127.0.0.1      只能是自己访问自己,别人无法通过这个IP访问你的电脑. 本机的域名:localhost         只能是自己访问自己,别人无法通过这个域名来访问你的电脑. 别人要想访问你的电脑,必须通过网卡的IP地址来访问. nslookup  www.baidu.com  命令窗口查看域名对应得I

Apache虚拟主机配置

在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录.Apache虚拟主机配置有3中方法:基于IP配置.基于域名配置和基于端口配置,这里介绍基于域名配置和基于端口配置,基于IP配置方法类似. 1. Apache基于域名配置虚拟主机: 打开Apache安装目录下的配置文件conf/extra/httpd-vhosts.conf,添加如下配置信息: <VirtualHost _default_:80> DocumentRoot &quo

Apache虚拟主机(VirtualHost)配置

首先找到Apache的配置文件httpd.conf find / -name httpd.conf 找到以下代码处 #Virtual hosts #Include conf/extra/httpd-vhosts.conf 按照上面的格式加入一行,你的虚拟主机配置文件,当然,你可以先加入再去写配置 Include conf/extra/httpd-vhosts.端口号.conf #此处填写端口号是为了统一管理,便于记忆 之后新建配置文件,在配置文件中输入以下信息 touch conf/extra/

配置LANMP环境(7)-- 配置nginx反向代理,与配置apache虚拟主机

一.配置nginx反向代理 1.修改配置文件 vim /etc/nginx/nginx.conf 在35行http下添加一下内容: include /data/nginx/vhosts/*.conf; include /etc/nginx/upstream.conf; 2.在/etc/nginx/目录下新建 upstream.conf文件 vim upstream.conf upstream dev.test1.com { server 127.0.0.1(换成虚拟机ip):8080 weigh

http服务(四)——apache虚拟主机配置

apache虚拟主机分为三类:基于IP.基于端口.基于域名.通常虚拟主机和物理主机不能同时使用,开启虚拟主机需注释掉以下一行: DocumentRoot "/var/www/html" 一.基于IP 1. 假设服务器有个IP地址为192.168.1.10,使用ifconfig在同一个网络接口eth0上绑定3个IP: [[email protected] root]# ifconfig eth0:1 192.168.1.11 [[email protected] root]# ifcon

php中apache服务器使用及配置④ apache虚拟主机 web访问时序图

虚拟主机的配置 思考问题!http://localhost/news.html http://www.sohu.comhttp://www.taobao.com.cn目前我们是 http://localhost/myblog/需求我希望http://www.shunping.comhttp://www.sohu.com配置虚拟主机的步骤如下:1. 启用 httpd-vhosts.conf在 httpd.conf 文件中# Virtual hosts ,虚拟主机Include conf/extra

配置apache虚拟主机,实现在一台服务器上运行多个网站

配置apache虚拟主机,实现在一台服务器上运行多个网站 apache虚拟主机实现有三种方法: 1.通过不同的IP地址 2.通过不同的域名 3.通过不同的端口号 三种都需要把虚拟主机功能打开: [[email protected] ~]# vim /etc/httpd/conf/httpd.conf 改: #NameVirtualHost *:80 为: NameVirtualHost *:80 方法1:通过不同的IP地址,解析不同的域名 给服务器增加IP(另一个域名解析) [[email pr