要实现这个功能,首先要在DNS服务器上打开域名的泛域名解析(自己做或者找域名服务商做)。比如,我就把 *.semcase.com和 *.semcase.cn全部解析到了我的这台Linux Server上。
然后,看一下我的Apache中关于*.semcase.com的虚拟主机的设定。
#*.com,*.osall.net
<VirtualHost *:80>
ServerAdmin webmaster@semcase.com
DocumentRoot /home/www/www.semcase.com
ServerName dns.semcase.com
ServerAlias dns.semcase.com semcase.com semcase.net *.semcase.com *.semcase.net
CustomLog /var/log/httpd/osa/access_log.log" common
ErrorLog /var/log/httpd/osa/error_log.log"
<Directory /home/www/www.semcase.com>
AllowOverride None
Order deny,allow
#AddDefaultCharset GB2312
</Directory>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^.]+\.osall\.(com|net)$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.osall\.(com|net)(.*)$ /home/www/www.semcase.com/sylvan$3?un=$1&%{QUERY_STRING} [L] </IfModule>
</VirtualHost>
在这段设定中,我把*.semcase.net和*.semcase.com 的Document Root都设定到了 /home/www/www.semcase.com
但是,继续看下去,看到<IfModule mod_rewrite.c>...</IfModule>配置了吗?在这里我就配置了URL Rewrite规则。
RewriteEngine on #打开URL Rewrite功能
RewriteCond %{HTTP_HOST} ^[^.]+.osall.(com|net)$ #匹配条件,如果用户输入的URL中主机名是类似 xxxx.semcase.com 或者 xxxx.semcase.cn 就执行下面一句
RewriteRule ^(.+) %{HTTP_HOST}$1 [C] #把用户输入完整的地址(GET方式的参数除外)作为参数传给下一个规则,[C]是Chain串联下一个规则的意思
RewriteRule ^([^.]+).osall.(com|net)(.*)$ /home/www/dev.semcase.com/sylvan$3?un=$1&%{QUERY_STRING} [L] # 最关键的是这一句,使用证则表达式解析用户输入的URL地址,把主机名中的用户名信息作为名为un的参数传给 /home/www/dev.semcase.com目录下的脚本,并在后面跟上用户输入的GET方式的传入参数。并指明这是最后一条规则([L]规则)。注 意,在这一句中指明的重写后的地址用的是服务器上的绝对路径,这是内部跳转。如果使用http://xxxx这样的URL格式,则被称为外部跳转。使用外 部跳转的话,浏览着的浏览器中的URL地址会改变成新的地址,而使用内部跳转则浏览器中的地址不发生改变,看上去更像实际的二级域名虚拟服务器。
这样设置后,重起Apache服务器,测试一下,就大功告成了!
分享到:
相关推荐
### 如何在Apache服务器下配置URL静态化的Rewrite规则 #### 一、了解URL静态化与Rewrite规则 ...通过以上步骤,可以在Apache服务器环境下成功配置URL静态化的Rewrite规则,从而提升网站的SEO表现和用户体验。
UrlRewrite是一款强大的URL重写工具,主要用于Apache服务器上的HTTP请求处理...在实际工作中,结合Apache服务器的配置和Web应用的特定需求,灵活运用UrlRewrite的规则和功能,能够显著提高Web应用的可维护性和扩展性。
- `<VirtualHost>`: 配置虚拟主机,允许在单个服务器上托管多个独立的网站。 - `Directory`: 针对特定目录设置访问权限和其他选项。 - `User`和`Group`: 指定服务器以哪个用户和组的身份运行。 5. 使用Webalizer...
### Apache Web服务器配置与使用工作笔记 #### 一、Apache Web服务器简介 Apache HTTP Server(简称Apache)是一款开放源码的Web服务运行平台,在互联网上有着广泛的使用。它是由Apache软件基金会的一个开源项目...
以下是如何在Apache中使用URLRewrite模块来实现这一功能的详细步骤: 1. **开启mod_rewrite模块**: 在Apache服务器配置中,首先确保mod_rewrite模块已启用。通常需要在httpd.conf或vhost.conf等配置文件中取消`...
虚拟目录,也称为别名或符号链接,允许我们在一个Apache服务器上设置多个独立的网站或者目录,而这些目录并不实际位于服务器根目录下。这有助于组织和管理不同项目或用户的文件,同时减少主域名下的文件混乱。 配置...
Apache服务器配置全攻略 ...总的来说,Apache服务器配置涉及多个层面,理解并熟练运用这些知识点,将使你能够灵活地管理和优化服务器,为用户提供高效、安全的服务。不断学习和实践,你将成为Apache服务器配置的专家。
在配置文件中使用Alias指令来实现虚拟目录,比如设置Alias /b /bbs,那么当用户访问***时,实际上是访问了/bbs目录下的内容。 4. Apache目录访问控制 Apache提供了强大的目录访问控制机制。通过配置区块,可以控制...
虚拟主机配置是Apache的一项重要功能,它允许在单一服务器上运行多个网站,通过指令块实现。服务器通过定义虚拟主机配置,可以针对不同域名或IP地址提供独立的网站服务。 Apache的优化策略不仅包括对基础配置的调整...
Apache是目前最流行的Web服务器之一,它支持多种类型的虚拟主机配置。通过虚拟主机技术,可以在同一台物理服务器上运行多个不同的网站,这对于节省资源和提高效率非常有用。在Apache中,虚拟主机可以通过基于名称、...
由于提供的文件内容仅包含标题、描述、标签以及重复的URL链接,并没有实际的关于Apache服务器配置与使用的知识性内容,因此无法直接生成知识点。但是,我可以提供关于Apache服务器配置与使用的一般性知识点,以满足...
### Apache服务器配置与使用知识点详解 #### 一、Apache服务器简介 Apache服务器是一款广泛使用的开源Web服务器软件,它能够高效地处理HTTP请求,并提供多种功能扩展。Apache支持跨平台运行,包括Windows、Linux、...
Apache服务器实用大全是一份全面介绍Apache服务器操作与管理的资源集合,旨在帮助用户深入理解和熟练掌握这个世界上最流行的Web服务器软件。这份资料可能包含了从安装配置、安全管理到性能优化等多个方面的内容,...
5. **配置灵活**:通过修改httpd.conf配置文件,用户可以根据需求自定义服务器的行为,例如设置虚拟主机、限制访问权限等。 6. **安全强化**:Apache24可以通过SSL/TLS协议提供加密连接,保护用户数据安全。同时,...
标题《apache 服务器配置文档》说明本文档是关于Apache服务器配置的具体指导。Apache服务器,即Apache HTTP Server,是世界使用排名第一的Web服务器软件。它是一款开源软件,具有强大的功能和灵活性,支持各种不同的...
总结,配置Apache的虚拟路径和伪静态涉及到对Apache配置文件的理解和使用,包括设置VirtualHost、启用`mod_rewrite`模块以及编写`.htaccess`文件中的重写规则。这些步骤对于网站的多域名管理以及优化URL结构至关重要...
使用`<Directory>`或`.htaccess`设置文件和目录的访问权限,可结合`User`和`Group`配置运行Apache的用户和组。 十二、自动启动与服务监控 使用`systemctl enable apache2`(Ubuntu/Debian)或`systemctl enable ...
Apache Rewrite Rule是Apache服务器中的一种功能,用于URL重写,它是Apache HTTP服务器的mod_rewrite模块的核心功能。这个功能使得Web服务器能够根据预定义的规则,将用户请求的URL转换为另一种形式,通常是为了优化...