首页 热点专区 小学知识 中学知识 出国留学 考研考公
您的当前位置:首页正文

通过 .htaccess 文件将域名解析到多个目录

来源:要发发知识网

对于一台主机而言,同时搭建两个网站可以更好的利用主机的剩余资源,但是,有些主机供应商并不提供子域名解析,或者需要解析到不同的域名,对于这种情况,可以通过建立 .htaccess 文件加入 rewrite 函数的方法实现,本方法仅适用基于 Apache 搭建的服务器,基于 nginx 搭建的服务器需要在 nginx.conf 中添加 rewrite 函数(之后另行介绍)。

则首先需要在 / 目录建立 .htaccess 文件,内容如下:

# 开启Rewrite功能
RewriteEngine On
# 
RewriteCond %{HTTP_HOST} 
RewriteCond %{REQUEST_URI} !^/a/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /a/$1
RewriteCond %{HTTP_HOST} 
RewriteRule ^(/)?$ a/ [L]
# 
RewriteCond %{HTTP_HOST}  
RewriteCond %{REQUEST_URI} !^/b/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /b/$1 
RewriteCond %{HTTP_HOST}  
RewriteRule ^(/)?$ b/ [L]

根据具体需要替换上面的域名和目录。

之后分别在两个子目录 /a 和 /b 建立 .htaccess 文件,内容分别如下:

/a/.htaccess

RewriteEngine On
RewriteBase /a
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /a/ [L]

/b/.htaccess

RewriteEngine On
RewriteBase /b
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /b/ [L]
显示全文