apache如何将一个域名自动定位到目录,这个问题困扰了很久,试了很多方法,不是很理想。今天终于知道了一个办法,效果还在测试中
以下是摘录的内容:
首先,你的拥有一个有泛域名解析的顶级域名,例如: domain.com其次,在 httpd.conf 中打开 mod_rewrite之后,在 httpd.conf 的最后,添加以下内容:
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:/usr/local/etc/apache/vhost.map
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
其中的 /usr/local/etc/apache 是你的 apache 服务器配置文件所在路径,根据实际情况更改。
然后,在这个所在路径的目录下创建一个文件: vhost.map
内容为:
www.domain.com /usr/local/www/data-dist/domain
bbs.domain.com /usr/local/www/data-dist/bbs
anyname.domain.com /usr/local/www/data-dist/anyname
以上部分都是:” 域名+空格+绝对路径” 的形式。
最后,在你的网站根目录 /usr/local/www/data-dist 下,创建对应目录:
domain , bbs , anyname 等等,理论上可以无限。
这样,通过浏览器,访问 www.domain.com 时,实际上访问的就是 /usr/local/www/data-dist/domain目录下的文件。同理,访问 bbs.domain.com 实际上访问的就是 /usr/local/www/data-dist/bbs 目录下的文件。而且,你可以
随时更改 vhost.map 来增加、删除、修改你的二级域名和所指向的实际路径,不用重启 apache。
第一步:打开apache的配置文件httpd.conf,去掉LoadModule rewrite_module modules/mod_rewrite.so前面的#号。
第二步:打配置文件尾部加上
RewriteEngine on
RewriteMap lowercase int:tolower
#定义映像文件
RewriteMap vhost txt:/apache/vhost/vhost.map
#处理变名
RewriteCond %{REQUEST_URI} !^/icons/
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
这里做基于文件的重新映射
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/cgi-bin/$1
注意:vhost.map文件是域名和空间映像的文件,格式如下:
www.abc.com /vhostusr/www.abc.com
www.xyz.com /vhostuser/www.xyz.com
www.cccbbbb.net /vhostuser/www.ccbbbb.net
.
.
.
.
(你不会连/vhostuser/www.abc.com目录也没建吧,会报错的哟)
第三步:保存配置文件,重启apache。在开设可绑定域名的空间时,只要在vhost.map文件里添加相应记录,并建立相应文件夹就OK了~~~
其实这个可以用php脚本来完成的,很简单的~~呵呵~~~
注意啊:php_admin_value open_basedir “path,这个选项要配好啊~~新手如果不懂的,就不要动这个了~
==============================================
方法二、
rewriteengine on
rewritecond %{HTTP_HOST} [^.]+\.域名\.com$
rewriterule ^(.+) %{HTTP_HOST}$1 [C]
rewriterule ([^.]+)\.域名\.com(.*) /$1$2
其他配置文件
接着在DNS中开设一个泛解析到对应的IP地址。
就可以实现下面的方案。
域名:domain.com
绝对路径:/home/domain.com/
www.domain.com 自动解析到 /home/domain.com/www/
abc.domain.com 自动解析到 /home/domain.com/abc/
等等子域名都可以自动解析到 /home/domains.com/对应子域名名称的文件夹
直接建立子域名名称的文件夹即可使用。不需重启apache
|
相关推荐
总结起来,Apache解析域名到目录主要通过配置`httpd.conf`,启用`mod_rewrite`,创建并编辑`vhost.map`文件来实现。这种方法提供了灵活的域名到目录映射,便于管理和扩展网站结构。在实际操作中,也可以考虑用PHP...
LINUX ASP Apache多域名解析(这个有用之人下吧,挺经典的。)
通过上述配置,我们不仅能够实现Apache对于Tomcat应用的泛域名解析,还能进一步优化访问路径和目录结构,使得整个系统的管理变得更加灵活和高效。值得注意的是,在实际操作过程中还需根据具体环境调整配置细节,例如...
本文将详细介绍如何在Linux环境下,基于Apache Web服务器实现多域名配置的方法。 #### 二、环境准备与基础配置 **1. 系统与软件版本** - **Linux系统版本**:Red Hat 4.8.5 - **PHP版本**:7.0 - **Apache版本**...
本文将详细介绍一种最简单快速的方法来实现Apache二级域名。 首先,你需要确保你的顶级域名(如 `domain.com`)已经进行了泛域名解析。泛域名解析意味着任何子域名(如 `www`, `bbs`, `anyname`)都将指向同一IP...
### Apache二级域名解析实现方法详解 #### 一、前言 在互联网应用中,二级域名是一种常见的需求场景,尤其对于大型网站来说,合理利用二级域名能够更好地组织网站内容,提高用户体验,同时也便于SEO优化。Apache...
该资源是我最近给某大公司开发集团官网的过程中总结的apache服务器配置方法,涉及知识如下,希望能帮助到大家: 1、配置网站默认发布路径。 2、让apache支持shtml文件,实现include文件解析。 3、添加默认文档index....
apache+tomcat的配置文件,实现多域名解析,让你了解企业级的配置
2. DNS服务器将域名解析请求转发到授权域名服务器 3. 授权域名服务器将域名解析结果返回给DNS服务器 4. DNS服务器将域名解析结果返回给客户端 5. 客户端使用解析结果访问目标服务器 四、Linux DNS服务器配置 在...
#### 一、Apache服务器配置方法概览 Apache服务器是目前最流行的Web服务器之一,它不仅能够高效稳定地处理大量的HTTP请求,还可以通过丰富的模块扩展其功能。本文将详细介绍如何配置Apache服务器,特别是如何设置...
在构建移动网站时,为了优化用户体验和搜索引擎排名,经常需要将二级域名(m.example.com)重定向至主站的一个子目录(如:example.com/m/)。这样可以确保网站内容的一致性和便于管理。本文将详细解释如何通过两种...
配置Apache以解析PHP文件,需要修改`/etc/apache2/mods-enabled/dir.conf`(Ubuntu/Debian)或`/etc/httpd/conf.d/php.conf`(CentOS/RHEL)文件。确保`AddType application/x-httpd-php .php`这行存在于配置文件中...
本文将深入解析如何在Apache中配置多端口,以及如何修改Apache的默认端口,确保您的网站能够顺利运行。 #### 一、理解Apache端口配置 在Apache的配置文件`httpd.conf`中,`Listen`指令用于指定Apache监听的端口。...
它必须与客户端请求的域名完全匹配,否则Apache可能无法正确地路由请求到正确的虚拟主机。 通过上述配置,可以在Apache服务器上轻松地管理多个域名和网站,这对于共享托管环境特别有用,因为它允许在一个IP地址上...
总之,Apache的Rewrite模块提供了强大的URL处理能力,通过合理的规则设置,可以实现多域名到主域名的301跳转,有效管理和优化网站的SEO策略。同时,注意处理好包含查询字符串的URL,确保重定向的准确性和搜索引擎...
Apache 二级域名解析是将一个顶级域名(如 `domain.com`)分解成多个子域名(如 `hangzhou.domain.com`, `xihu.domain.com`),并将这些子域名映射到不同的目录或应用程序上,以实现多站点托管。在Windows和Linux...
将`tomcat-connectors-1.2.32-windows-i386-httpd-2.2.x.zip`解压到Apache安装目录的`modules`文件夹中。 **步骤二:配置worker.properties** 在Apache的`conf`文件夹中创建或修改`worker.properties`文件,定义...
在Linux环境下配置Apache虚拟主机是一项关键的服务器管理技能,它允许在同一台物理服务器上运行多个独立的网站,每个网站都拥有自己的域名、文档根目录、错误日志等配置。以下是对给定文件信息中提到的知识点进行的...
1. **在DNS中设置子域名**:为Apache服务设置一个子域名(例如`sub.example.com`),并将该子域名解析到服务器IP地址。 2. **配置Apache的虚拟主机**:在Apache中创建一个新的虚拟主机条目,指定该虚拟主机的域名...