需求背景:
系统中用户注册后会根据id生成其主页,如http://www.test.com/index/2
用户希望实现一级域名绑定,即,通过访问http://www.demo.com也能直接访问到其主页
我们系统采用的是apache + tomcat的环境,通过apache访问静态资源。
apache + tomcat的搭建配置不属于本文讨论范围。
解决方法,在apache的配置文件中加入vhost
- <VirtualHost *:80>
- #申请的一级域名,根据实际情况修改
- ServerName www.demo.com
- ServerAlias www.demo.com
-
-
DocumentRoot "/home/test/statics"
-
RewriteLogLevel 1
- ErrorLog logs/demo_error.log
- CustomLog logs/demo_cn.log common
-
-
<Directory "/home/test/statics">
- Options FollowSymLinks
- AllowOverride All
- Order allow,deny
- Allow from all
- </Directory>
-
- RewriteEngine on
-
#下行中的“2”为该用户的id号,根据实际情况修改
-
RewriteRule ^/$ /index/2 [R,L]
-
- ProxyPass /images/ !
- ProxyPass /swf/ !
- ProxyPass /scripts/ !
- ProxyPass /css/ !
-
-
ProxyPass / balancer:
-
ProxyPassReverse / balancer:
-
<Proxy balancer:
-
BalancerMember ajp:
- </Proxy>
- </VirtualHost>
<VirtualHost *:80>
#申请的一级域名,根据实际情况修改
ServerName www.demo.com
ServerAlias www.demo.com
DocumentRoot "/home/test/statics"
RewriteLogLevel 1
ErrorLog logs/demo_error.log
CustomLog logs/demo_cn.log common
<Directory "/home/test/statics">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
RewriteEngine on
#下行中的“2”为该用户的id号,根据实际情况修改
RewriteRule ^/$ /index/2 [R,L]
ProxyPass /images/ !
ProxyPass /swf/ !
ProxyPass /scripts/ !
ProxyPass /css/ !
ProxyPass / balancer://tomcatcluster/
ProxyPassReverse / balancer://tomcatcluster/
<Proxy balancer://tomcatcluster>
BalancerMember ajp://127.0.0.1:8009 route=jvmtest
</Proxy>
</VirtualHost>
添加完vhost后,重启下httpd服务,就实现了一级域名绑定。
顺便说一个很简单的二级域名绑定方式
在www.test.com的vhost中添加如下内容:
- RewriteEngine on
-
RewriteCond %{HTTP_HOST} ^[0-9]+\.test.com$
- RewriteRule ^/?$ /%{HTTP_HOST}
-
RewriteRule ^/([0-9]+)\.test\.com/?$ /index/$1 [R,L]
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[0-9]+\.test.com$
RewriteRule ^/?$ /%{HTTP_HOST}
RewriteRule ^/([0-9]+)\.test\.com/?$ /index/$1 [R,L]
这样通过访问http://2.test.com也能范围到http://www.test.com/index/2中同样内容了
apache域名绑定的关键是urlrewrite,需要一点正则表达的知识。
原文:http://javantsky.iteye.com/blog/852982
分享到:
相关推荐
**二、Apache域名绑定不起作用的排查** 1. **检查NameVirtualHost指令** 如果发现域名绑定不生效,首先确认是否在配置文件中正确添加了`NameVirtualHost *:80`。如果没有,Apache会默认使用第一个`VirtualHost`...
Apache站点绑定多个域名,用ServerAlias ,Apache站点绑定多个域名,用ServerAlias ,
最近新装了个OJ系统,想着总是用ip访问挺难记得,就打算绑一个域名上去。在配置的过程中也遇到了一些问题,现在总结下面来分享给大家,方便有需要的朋友们参考学习。 方法如下 网上百度了很多教程,发现大家都是在...
- 替换`ServerName`中的`www.test.com`为你想要绑定的域名。 - 替换`DocumentRoot`中的路径为你项目的根目录。 - 可以根据需要开启重写引擎并配置重定向规则。 **3. 重启Apache服务** - 修改完配置后,需要重启...
apache设置域名绑定.docx
本篇文章将详细阐述如何在LAMP环境下设置Apache域名绑定,以及相关的配置参数和操作技巧。 首先,进入Apache的配置目录,通常位于`/usr/local/apache/conf/vhost`。在这里,你可以找到或创建用于特定域名的配置文件...
百度虚拟子栏目域名绑定是一项技术操作,旨在为网站的特定栏目创建独立的二级域名,以优化用户体验和网站结构。这种绑定通常涉及到DNS配置、服务器设置以及网站代码的调整。下面将详细解释这一过程。 一、理解子...
### Apache配置主机头在同一端口绑定多个域名和网站 在Apache服务器中,有时我们需要在同一台服务器上运行多个网站,每个网站都有不同的域名。这可以通过配置虚拟主机(Virtual Hosts)来实现,其中一种方法是使用...
apache+tomcat整合以及域名绑定,教你发布javaweb网站
本篇文章将详细探讨Apache服务器如何实现这一功能,特别是通过Rewrite模块进行多域名绑定。 首先,Apache服务器是一个广泛应用的开源HTTP服务器,其强大的功能和灵活性使其成为许多网站的首选。在Apache中,可以...
【TOMCAT多域名绑定】是Web服务器管理中的一个重要概念,尤其对于运行多个独立网站或应用的开发者来说,这是必须掌握的技术。Tomcat,作为Apache软件基金会的一个开源项目,是Java Servlet和JavaServer Pages(JSP)...
在IT行业中,域名绑定是一个常见的任务,特别是在搭建Web服务器时,比如Tomcat。Tomcat是Apache软件基金会的一个开源项目,它是一个轻量级的应用服务器,主要用于处理Java Servlet和JavaServer Pages(JSP)。当我们...
apache配置,只允许域名访问,不允许ip访问
总结,配置Apache绑定多域名涉及的主要知识点包括:虚拟主机的概念、`httpd.conf`配置文件的解读与编辑、DNS配置、服务重启以及问题排查。理解这些概念和操作,将有助于你在管理多站点环境时更加得心应手。
域名绑定是指将一个域名映射到一个 IP 地址上,使得用户可以通过域名访问服务器上的资源。在我们的示例中,我们将使用两个域名 www.a.com 和 www.b.com,并将它们绑定到不同的目录下。 准备工作 在开始配置之前,...
在IT领域,尤其是在服务器配置和Web应用部署方面,多域名绑定和Tomcat多项目绑定是两个重要的概念。这里,我们详细探讨这两个主题,以便更好地理解它们的原理和实践操作。 首先,多域名绑定是指在一个服务器上同时...
【1】 打开文件路径:C:\Windows\System32\drivers\etc,修改hosts文件如下:【2】 打开路径:C:\wamp64\bin\apache\apache2.4.23\conf\original,打开httpd.conf文件,搜索 “Include conf/extra/httpd-vhosts.conf...
#### 三、通过主机头名(Server Name)实现多域名绑定 更加常见的做法是使用主机头名来实现多域名的绑定,这种方式可以让用户直接通过域名访问不同的站点,而无需输入端口号。接下来,我们将详细介绍这种配置方法。...