在虚拟主机上利用.htaccess建立多个网站

2015/03 02 00:03

vhost

相信很多站长都有这种烦脑,现在域名便宜的要死,而好的空间动则上百,多则几千,且一般只能建一个站,让资金有限的草根站长站们望而却步,国外香港等地的空间虽然便宜,但速度不行且不稳定。在这样的情形下,用最少的钱办最多的事这是最理想的的状态了。国内的虚拟空间虽然只能建一个站,但可以绑定很多域名,以万网的虚拟主机为例,他们家的主机可以绑定多达20个域名,这样就给我们建立多个网站的方便之门。现在就为大家介绍一种用.htaccess来在一个虚拟主机上突破空间商建站个数的限制,建立多个网站的方法。
利用apache的rewrite功能,用.htaccess来实现不同域名访问不同的目录。
第一步、空间的选择
要实现这个功能,购买空间时一定要选择APACHE作为web服务器的空间,这种空间的特点是只支持PHP,也就是纯PHP空间。
第二步、域名解析
登陆域名管理后台,把需要绑定的域名,解析到你空间的IP上。
第三步、空间域名的绑定
登陆虚拟主机/空间管理台,把你需要的域名绑定到空间上
第四步、建立.htaccess
在你的空间根目录下,建立一个.htaccess文件。你可以在本地建一个.txt文件,最好是显示扩展名,如果你的不显示,可以在计算机(我的电脑)——>工且————>文件夹选项————>查看找到“隐藏已知文件类型的扩展名”去掉前面的购,把文件命名为.htaccess,如果不能重命名,就先把前面的点去掉。然后打开,加入以下代码。
下面是以 www.03gk.com 为例的.htaccess代码.

RewriteEngine On
RewriteBase /
# 绑定www.03gk.com 到 gwy子目录
RewriteCond %{HTTP_HOST} ^www.03gk.com$ [NC]
RewriteCond %{REQUEST_URI} !^/gwy/
RewriteRule ^(.*)$ gwy/$1?Rewrite [L,QSA]

#可以绑定多个 只需重复上三行代码并更改一下域名、目录名 就好了

如果你以完成上面的步骤
你的子域名应该可以访问,但你会发现在浏览器上访问,主域名+绑定的域名目录,也可以访问,可这并不是我们想要的,接下来我们完成最后一步。
在子文件夹/gwy/也建一个.htaccess文件,放入以下代码:

RewriteEngine On
RewriteBase /
#只许绑定的域名访问
RewriteCond %{HTTP_HOST} !^www.03gk.com$ [NC]
RewriteRule (.*) http://www.03gk.com/$1 [L,R=301]
#对绑定目录下与 同名的目录的处理
RewriteCond %{REQUEST_URI} ^/gwy/ [NC]
RewriteCond %{QUERY_STRING} !^(.*)?Rewrite
RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA]
特别要加调的是:
如果你的网站根目录已存在.htaccess文件;
比如WordPress修改过固定链接,那么目录会有一个.htaccess文件,里面如有:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
那么就是已以有的.htaccess里,把内容改为:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.03gk.com$ [NC]
RewriteCond %{REQUEST_URI} !^/gwy/
RewriteRule ^(.*)$ gwy/$1?Rewrite [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
子目录也一样操作,好了,这样一个新的域名就以可使用了

--转载请注明: http://www.linduanyou.cn/95.html

发表回复

(必填)