Apache22中配置虚拟主机(Apache VirtualHost)
Apache VirtualHost的作用就是可以让一个apache为多个域名服务,相当于一个服务器挂了N多个网站,举个例子:
我的apache服务器,ip为x.x.x.x,我有两个域名www.tootoogo.org和lp.tootoogo.org,设置这两个域名都指向x.x.x.x,在apache服务器上设置virtual host后,apache服务器可以实现同时为这两个域名服务,使得这两个域名分别指向不同的网页,于是我的一个服务器上就同时有了两个网站。
Apache VirtualHost配置方法:
在httpd.conf文件末尾添加以下内容
NameVirtualHost *:80
<VirtualHost *:80>
ServerAlias www.tootoogo.org #貌似这一行没必要
DirectoryIndex index.html index.php
DocumentRoot "/var/www/data1/“
ServerName www.tootoogo.org
ErrorLog "log/tootoogo-error_log"
CustomLog "logs/tootoogo.access"
</VirtualHost>
<VirtualHost *:80>
DirectoryIndex index.html index.php
DocumentRoot /var/www/data2/
ServerName lp.tootoogo.org
ErrorLog "log/lp.tootoogo-error_log"
CustomLog "logs/lp.tootoogo.access"
</VirtualHost>
这样就可以使用两个域名解析到同一IP上却得到不同页面。
如果要禁止用户直接用IP进行访问,只要在
NameVirtualHost *:80
这句之后插入以下内容:
<VirtualHost *:80>
ServerName YourIpAddress
<Location />
Order Allow,Deny
Deny from all
</Location>
</VirtualHost>
备注:
修改httpd.conf中的
<Directory "/usr/local/www/apache22/data">
为
<Directory "/usr/local/www/apache22/">
那么就可以
使用下面的目录分别放置这两个域名对应的网页了
DocumentRoot /usr/local/www/apache22/data1
DocumentRoot /usr/local/www/apache22/data1
////////////////题外话////////////
如果需要监听其他端口号,可以加入
Listen yourIP:port,例如Listen 192.168.1.1:8081,那么对应的
NameVIrtualHost *:8081<VirtualHost *:8081>
ServerName www.tootoogo.org:8081
//////////////////////////////////
重写例子
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^(.*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ $1/plugin.php?id=$2:$3&%1
</IfModule>
Apache22中配置虚拟主机(Apache VirtualHost)的更多相关文章
- ***阿里云ECS实战配置虚拟主机 + Apache 配置虚拟主机三种方式
阿里云ECS实战配置虚拟主机 买了一台ECS阿里云服务器,性能感觉有点富余,想着可以陪着虚拟主机多一些WWW目录好放一些其他的程序.比如DEMO什么的. 今天研究了下,主要是就是做基于不同域名的虚拟主 ...
- 在apache2.4.6中配置虚拟主机支持web.py
web.py 是一个简单好用的python web框架. (http://webpy.org/) apache httpd是一款开源配置简单的web容器. (http://apache.org/) 假 ...
- lamp apache配置虚拟主机
You don't have permission to access /index.php on this server
- wamp2.4.4 如何配置虚拟主机及反向代理(解决跨域问题)
一.找到安装目录下的httpd.conf文件 1. 删除Include conf/extra/httpd-vhosts.conf前面的#号(开启虚拟主机的配置) 2. 删除LoadModule pro ...
- 【转】Apache 配置虚拟主机三种方式
Apache 配置虚拟主机三种方式 原文博客http://www.cnblogs.com/hi-bazinga/archive/2012/04/23/2466605.html 一.基于IP 1. 假 ...
- apache配置虚拟主机
步骤如下: 1.在配置文件httpd.conf中启用httpd-vhosts.conf 找到# Virtual hosts将Include conf/extra/httpd-vhosts.conf前的 ...
- apache配置虚拟主机后,启动速度慢
apache配置虚拟主机后,启动速度慢且提示“the requested operation has failed” 可以通过在cmd下启动,来查找问题(命令中的“apache2.2”,是服务名,根据 ...
- 在Apache中开启虚拟主机
最近在自学LAMP,在Apache中尝试着开启虚拟主机的时候,遇到了挺多麻烦的,这里也顺便总结一下,在Apache中开启虚拟主机的时候,主要有下面几个步骤: 1.新建一个文件夹作为虚拟主机,用来存储网 ...
- Apache配置虚拟主机后,不能访问localhost的问题
今天想试用一下php7,但是发现php7只支持Apache2.4版本,而我电脑上的Apache是2.2版本,为了想尝鲜,就必须去下载新的Apache2.4 php7和apache2.4安装整合以后,l ...
随机推荐
- 解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问的方法
1.开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句: reconfigure reconfigure 2.关闭Ad Hoc Distributed Qu ...
- 思科简单教程CCNA
这是CCNA的内容,从PC配置交换机(或者路由器),这里呢我们使用的软件叫pack 这是ciso开发的一款工具,能生动形象的模拟现实生活中组网技术的过程,下面我大概讲一下流程,想更多的了解我会录制一些 ...
- Matlab txt内容替换函数 fgetl fseek
Data Import and Export :Low-Level File I/O the contents of the file: 16 5 9 4 2 ...
- Linux常用指令---定时任务
linux定时任务crontab命令选项基本只有对用户操作选项:-u 指定用户-l 列出某用户任务计划-r 删除某用户任务-e 编辑某用户任务 查看某一用户的定时任务crontab -u root - ...
- [CareerCup] 13.1 Print Last K Lines 打印最后K行
13.1 Write a method to print the last K lines of an input file using C++. 这道题让我们用C++来打印一个输入文本的最后K行,最 ...
- linux实践——简单程序破解
一.运行login可执行程序,屏幕显示需要输入密码,随便输入一串字符,结果是Drop dead! 二.objdump -d login,对login进行反汇编,找到main函数,找到含有scanf的那 ...
- Opencv step by step - 图像载入
之前已经使用过图像载入了,这里再讲述一下其他的一些tip. 先来一次普通的载入: #include <cv.h> #include <highgui.h> int main(i ...
- 零散知识记录-Jira的安装
Jira不支持openjdk,在linux下需要卸载后,装个jdk才行.
- Orchard常见问题
本文链接:http://www.cnblogs.com/souther/p/4543299.html 什么是Orchard Orchard是一个免费,开源,注重社区的项目,其目标是提供ASP.NET平 ...
- 开源搜索 Iveely Search Engine 0.6.0 发布 -- 黎明前的娇嫩
快两年了,Iveely Search Engine已经走过了5个版本的岁月,虽出生“贫寒”,没有任何开源基金会的支持,没有优秀的“干爹.干妈”,它凭着它的爱好者的支持,0.6.0终于破壳而出,7年前, ...