`

使用apache重写,一个空间上放多个应用

阅读更多
完全没必要为每个域名购买一个独立的主机帐户和IP地址。可以利用Apache的一些特性来完成在单一IP地址上配置多域名。

如果你是一个普通的小网站业主,那么经营网站的方式多半是采用与网络平台提供商共享主机帐户的方式。这是一种很典型的方式,共享帐户 会给你提供一个唯一的IP地址,一块有限的存储空间,以及有限的网络带宽,也准许你使用一些基本的访问命令。显然,这样的帐户权限不包 括超级用户访问权限,也不允许安装任何服务器程序。

其实这是个误区,以前每次当我需要建立新的网站,购买新的域名空间时,我都会从网络主机提供商那里买一个新的共享帐户。不用说,结果 自然是每年都要交一笔昂贵的网络费用。而且非常不划算,因为每个帐户所分得的存储空间和带宽都没有被充分利用。

为了控制不断上升的网络费用,我决定来做点研究,看看是否存在一种更经济的经营网站的方法。经过研究发现,完全不必要为每个域名都购 买单独的主机帐户和IP地址。用Apache的一个特性就可用实现将多个域名绑定在一个主机帐户和IP地址上,极大地减少了主机注册的开销。

step1:确保主机所用的网络服务器是Apache服务器

大多数网络主机提供商,如Apach非常稳定、能强大,且很容易配置。一般说来,如果主机提供商所使用的操作系统为UNIX,那么网站服务器一 般都是Apache服务器。可以发个电子邮件或打个电话,向主机提供商的相关部门确认一下服务器是否为Apache服务器。

下面的步骤将用到Apache服务器的两个特殊性质:

# 第一个特性是URL重置引擎,根据预先定义的规则集自动地生成URL请求。mod_rewrite引擎提供基于规则的实时转向URL请求功能。一般说 来,可用在编译时间激活它,当然也可以在运行时间内再激活它,就如DSO模块一样。

# Per-directory .htaccess文件,允许覆盖Apache服务器的缺省配置,通过special.htaccess文件来实现。

最好向主机提供商核查一下,看看上述Apache服务器的两个特性是否可用。因为下面的步骤要求这两个特性都是可用的。

step2:为每一个域名创建一个目录

在初始帐户目录的public_html/ 路径下,再创建以下子目录:

vhosts/site1
/site2
/site3

这里的site1,site2,和site3分别代表不同的域名。接下来,在每个路径中放入相应的WEB文件。

step3:应用重写规则

一旦配置好目录后,就可用在public_html/目录下创建一个名为.htaccess的文件,并把下面的程序写进这个文件。

RewriteEngine On

这行程序是用来激活Apache服务器的URL重写引擎的。接下来,要定义规则集,可参照下面的程序行:

RewriteCond %{HTTP_HOST} site1.com$ [NC]
RewriteCond %{REQUEST_URI} !^/vhosts/site1/.*$
RewriteRule ^(.*)$ /vhosts/site1/$1 [L]

RewriteCond %{HTTP_HOST} site2.com$ [NC]
RewriteCond %{REQUEST_URI} !^/vhosts/site2/.*$
RewriteRule ^(.*)$ /vhosts/site2/$1 [L]

后面的思想是简单而巧妙的。只要Apache一接收到从站点www.site1.com发出的请求,它就会自动地重写URL并且马上开始服务。提 供/vhosts/site1目录下的内容。www.site2.com的请求也是类似,将提供/vhosts/site2目录下的内容。由于重写操作发 生在后台服务器,很多 用户可能根本没察觉到它的发生。

step4:从网络主机服务提供商处购买域指针

最后一步就是要求主机供应商在其DNS域文件里发布你的各个域名。这里的“域指针”本质上就是一个DNS入口,将你的多个不同的域名绑定到 你的主帐户的IP地址上。大多数主机服务提供商都有提供这项服务,一次性付费方式,可以很方便地买到。

上述操作都完成后,一旦有客户端向某个域空间发出请求,域名服务器就会将你的主帐户及IP地址反馈给它。若客户端尝试连接到这个IP地址 ,Apache服务器就会按照前面定义的重写规则来检查这个被请求的域名是否正确,若正确就从相应的主目录中调出被请求的页面。

如果企业一个小型的、访问量不是很大的网站,上述技术将会是一个可节省网络运营开销简单且有效的好方法。
分享到:
评论

相关推荐

    一个空间放多个网站(多域名绑定到同一空间不同目录.rar

    通过以上步骤,我们可以在一个服务器上设置多个网站,实现多域名绑定到同一空间的不同目录,从而高效地管理与运营多个Web项目。这个过程既涉及了服务器配置,也包括了DNS解析和网站安全策略,对于任何希望提升服务器...

    Apache2·0中文手册

    《Apache2.0中文手册》中详细涵盖了安装、配置、运行、安全管理、模块使用、故障排查等多个方面,对于初学者和高级用户来说都是宝贵的参考资料。手册可能包括以下内容: - **安装指南**:详细解释在各种操作系统...

    apache 文档

    此外,每个网站的配置可以通过虚拟主机(Virtual Hosts)实现,允许在一个服务器上运行多个独立的站点。 对于初学者,了解如何安装和配置Apache至关重要。在Linux系统中,通常使用包管理器如apt或yum来安装Apache。...

    Apache的ProxyPass指令详解

    - **负载均衡**:通过将请求分发到多个后端服务器,提高系统的可用性和性能。 - **安全防护**:通过作为前端服务器,可以实施防火墙策略,保护后端服务器的安全。 #### 四、详细使用案例 假设有一个本地服务器地址...

    Linux中Apache的配置详解

    4. **创建虚拟主机**:通过在`httpd.conf`文件中添加`<VirtualHost>`块来创建虚拟主机,这样可以在同一台服务器上托管多个不同的网站。 5. **日志记录**:Apache的日志文件通常位于`/var/log/httpd`目录下,包括...

    Apache24 64位

    【Apache24 64位】是一个专为64位操作系统设计的高性能Web服务器软件,由Apache Software Foundation开发并维护。Apache24是Apache HTTP Server的第24个主要版本,它提供了许多改进和新特性,以满足现代互联网环境的...

    apache_2.2.8 for win32下载

    Apache HTTP Server 2.2.8 是一个...总之,Apache 2.2.8 for Win32是一个强大且灵活的Web服务器解决方案,尤其适合在Windows平台上搭建Web应用。正确安装和配置后,它能为开发者和网站管理员提供稳定且高效的Web服务。

    apache2.2.4

    Apache是世界上最流行的HTTP服务器软件,而PHP则是一种广泛用于Web开发的服务器端脚本语言。这两者的结合为动态网站和Web应用程序提供了强大的支持。 Apache 2.2.4是Apache HTTP Server的一个稳定版本,它包含了...

    apache.pdf

    - **虚拟主机支持**:可以在同一台物理服务器上运行多个独立的网站。 - **HTTP认证**:支持基于用户名和密码的身份验证机制。 - **集成Perl脚本**:内置Perl解释器,简化动态内容的生成。 - **代理服务器功能**:...

    apache2.2-php5.3.3+mysql的搭建

    这里我们关注的是如何在服务器或本地计算机上搭建Apache2.2、PHP5.3.3和MySQL的集成环境,这是一个经典的LAMP(Linux、Apache、MySQL、PHP)架构的实例。LAMP组合广泛应用于Web应用程序的开发和部署,尤其适合开源...

    php+apache+mysql配置视频教程

    PHP 5.3版本引入了多个新特性,包括命名空间、闭包(lambda函数)、 Late Static Bindings 和改进的错误处理机制,这些都极大地提升了代码的可读性和维护性。 接下来是Apache,它是世界上最流行的Web服务器软件。...

    apache2.4 (httpd-2.4.23-win64-VC14)

    **Apache2.4详解** ...综上所述,Apache2.4是一个强大且高度可定制的Web服务器,适合各种规模的网站和应用。对于开发者和管理员来说,掌握Apache2.4的配置和管理技巧,将有助于提高网站的性能和安全性。

    thinkphp6--多应用版.zip

    在Thinkphp6中,多应用模式是一个关键特性,它允许在一个项目中管理多个独立的应用,每个应用拥有自己的配置、路由和模型等资源,这种设计特别适合构建大型、复杂的企业级系统。在TP6中实现多应用,首先需要在项目根...

    apache2.2中文手册

    Apache支持基于域名、IP地址甚至端口号的多个虚拟主机。这使得一台服务器可以托管多个独立的网站。配置虚拟主机需要在`httpd-vhosts.conf`中添加相应的`<VirtualHost>`块。 5. **访问控制** Apache提供了多种访问...

    Nginx和Apache之伪静态设置 (运维珍藏版)

    3. **响应负担较重**:当生成的静态页面较多时,服务器处理这些页面的响应也会成为一个负担。 ##### 2.2 伪静态(url重写)的优缺点 **优点**: 1. **有利于SEO优化**:相较于真静态页面,伪静态页面更方便进行SEO...

    apache httpd-2.2.19.tar.zip

    tar通常用于将多个文件和目录打包成一个单一的文件,而bzip2则进一步对这个归档进行压缩,以节省存储空间。要解压并访问这个文件,你需要先使用bunzip2命令解压,然后再用tar命令提取内容。解压后的文件将包含Apache...

    php and apache

    Apache 2.2是该服务器的一个稳定版本,提供了对虚拟主机、模块化架构、安全特性(如SSL/TLS支持)以及各种URL重写规则的支持。它可以通过配置文件(通常为httpd.conf)进行定制,以满足不同Web站点的需求。 当将PHP...

    实战Nginx:取代Apache的高性能Web服务器.

    2. 反向代理和负载均衡:Nginx能够作为反向代理服务器,将用户请求分发到后端多个服务器,实现负载均衡,提高服务的可用性和响应速度。 3. 静态文件处理:Nginx对静态文件(如图片、CSS、JavaScript)的处理性能...

    apache服务器安装说明

    接着,在`/usr/local/httpd`目录下创建一个用于存放Apache软件包的空间,并给予适当的权限。 #### 下载与解压 下载Apache的源码包,例如`httpd-2.2.19.tar.gz`,然后解压缩到`/usr/local/httpd`目录下,并给予该...

    apache+mysql+php+phpmyadmin集成环境

    Apache-2.2.22版本是该系列的一个稳定版,提供高效、可靠的服务,支持多种模块,如mod_rewrite用于URL重写,mod_security用于增强安全性等。 MySQL则是一款高性能的关系型数据库管理系统,被广泛应用于网站和应用...

Global site tag (gtag.js) - Google Analytics