虚拟主机子目录绑定多个域名规则

虚拟主机子目录绑定多个域名规则,第1张

利用.htaccess绑定域名子目录,前提你的空间服务器必须支持apache的rewrite功能,只有这样才能使用.htaccess。如果你的空间是Linux服务器 一般默认都开启了的。

绑定域名

登陆域名管理台(如DNSPod) 把需要绑定的域名 解析到你的空间;

登陆虚拟主机/空间管理台(如万网) 绑定域名到空间

首先在本地建个txt文件,复制下面的代码修改替换你要绑的域名和目录,并传到网站主目录下再改成为.htaccess。

下面是以 music.xmgho.com 绑定到子目录music为例的.htaccess代码.

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

# 绑定music.xmgho.com 到子目录music

RewriteCond %{HTTP_HOST} ^music\.xmgho\.com$ [NC]

RewriteCond %{REQUEST_URI} !^/music/

RewriteRule ^(.*)$ music/$1?Rewrite [L,QSA]

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

在虚拟主机WEB根目录下任意建立的文件夹,可以把任意的域名绑定在这些任意建立的子目录下,形成独立的站点,这些站点与主站共享资源,并且可以根据需要按比例分配资源,轻松实现一个空间建多个网站,得到了广泛应用。

AD:ABB主机网-西部数码顶级代理商

来源:本答案由百度经验提供:http://jingyan.baidu.com/article/15622f2450cb30fdfcbea5ef.html

回答:

通过伪静态规则实现子目录绑定:apache+.htaccess或IIS+ISAPI_REWRITE+httpd.ini

Apache HTTP Server一般安装在类Linux服务器上,默认支持URL重写,一般虚拟主机用户将.htaccess文件放网站根目录就可以实现伪静态了,使用下面的伪静态规则就可以实现子目录绑定。

RewriteEngine on

# 把 ip.caoger.net改为你要绑定的域名,把 IPdir 改为要绑定的目录

RewriteCond %{HTTP_HOST} ^(www.)?ip.caoger.net$

RewriteCond %{REQUEST_URI} !^/IPdir/

# 不要改以下两行.

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

# 把 IPdir 改为要绑定的目录.

RewriteRule ^(.*)$ /IPdir/$1

# 把ip.caoger.net 改为你要绑定的域名

# 把 IPdir 改为要绑定的目录.

..

RewriteCond %{HTTP_HOST} ^(www.)?ip.caoger.net$

RewriteRule ^(/)?$ IPdir/ [L]

增加子目录绑定时,将上面代码除了第一行之外全部复制一遍并做相应修改后,粘贴到上面的规则后面即可。

如果根目录也绑定其它域名的话,可以通过子目录访问子站,就会导致子站文件多出个访问URL,建议不要在根目录绑定其它域名;当然,如果绑定子目录都是一级目录subDomain下的子目录,可以通过robots.txt禁止收录subDomain目录,这样就不用担心上面的问题了。可以使用DisallowDirdh88eghsjkk8834取代前面的subDomain,然后在robots.txt增加如下一行即可禁止搜索引擎在收录主站时收录该子目录(不过子网站之间似乎有点乱)。

Disallow: /Disallow

对于IIS+ISAPI_REWRITE+httpd.ini的情况,如下内容的httpd.ini可以让子网站根目录(仅http://ip.caoger.net/和对应的www子域名这2个网址)重写到子目录。

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

# 把 yourdomain.com 改为你要绑定的域名

RewriteCond Host: ^(www\.)?ip\.caoger\.net$

RewriteRule ^(/)$ /IPdir/ [L]

增加如下规则可以让以http://ip.caoger.net/about/(这里的域名也可能是www子域名)开头的所有url实现重写,实际地址是将ip.caoger.net/about/为ip.caoger.net/IPdir/about/。

RewriteRule ^/about/(.*)$ /IPdir/about/$1 [L]

需要重写多个(或多类)目录或文件,就要多增加几条规则。增加多个子目录,也是需要些重复劳动。显然,IIS+ISAPI_REWRITE+httpd.ini下的规则写起来比apache+.htaccess下的麻烦多了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/100951.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-09
下一篇2023-03-09

发表评论

登录后才能评论

评论列表(0条)

    保存