首页 技术学习正文

通过.htaccess将子目录绑定到子域名完整教程

apache下的重写URL的模块,俗称伪静态,可以利用它来做子目录绑定子域名。比如www.2bbt.com/jd 这样的目录可以变成jd.2bbt.com 而这域名恰巧就是利用它从子目录绑定子域名的。

通常这种情况用在站群泛域名解析,地方门户地区子域名泛解析(beijing.xxx.com nanjing.xxx.com),低价位的只能架设单网站空间的多域名多站点绑定


主站根目录下.htaccess 规则

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} ^jd\.2bbt\.com$ [NC]

RewriteCond %{REQUEST_URI} !^/jd/

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

</IfModule>


在主站目录下建立.htaccess (列如www.2bbt.com/jd)目的为了访问主域名子目录的情况下301跳转到子域名访问

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

#只许绑定的域名访问

RewriteCond %{HTTP_HOST} !^jd\.2bbt\.com$ [NC]

RewriteRule (.*) http://jd.2bbt.com/$1 [L,R=301]

RewriteCond %{REQUEST_URI} ^\/jd\/ [NC]

RewriteCond %{QUERY_STRING} !^(.*)?Rewrite

</IfModule>


多加站点可以重复操作,根目录下从第四条到第六条复制添加修改相应的目录,子目录也同样方法每个再设置就好了。


本站所使用的.htaccess 规则分享

<IfModule mod_rewrite.c>

RewriteEngine on

#主站淘宝优惠券

RewriteCond %{HTTP_HOST} ^www.2bbt.com$

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteBase /

RewriteRule . /index.php [L]

#优惠券导航页

RewriteCond %{HTTP_HOST} !\.2bbt\.com$ [NC]

RewriteCond %{REQUEST_URI} !^/d/

RewriteRule ^(.*)$ d/$1 [L,QSA]

#京东优惠券

RewriteCond %{HTTP_HOST} ^jd.2bbt.com$

RewriteCond %{REQUEST_URI} !^/jd/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

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

RewriteCond %{HTTP_HOST} ^jd.2bbt.com$

RewriteRule ^(/)?index.php$ jd/index.php [L]

#拼多多优惠券

RewriteCond %{HTTP_HOST} ^pdd.2bbt.com$

RewriteCond %{REQUEST_URI} !^/pdd/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

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

RewriteCond %{HTTP_HOST} ^pdd.2bbt.com$

RewriteRule ^(/)?index.php$ pdd/index.html [L]

#博客系统

RewriteCond %{HTTP_HOST} ^blog.2bbt.com$

RewriteCond %{REQUEST_URI} !^/blog/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

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

RewriteCond %{HTTP_HOST} ^blog.2bbt.com$

RewriteRule ^(/)?index.php$ blog/index.php [L]

</IfModule>


评论