dedecms用.htaccess绑定二级域名到子目录 ,栏目目录绑定二级域名办法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yw8886484/article/details/87898133

dedecms用.htaccess绑定二级域名到子目录 ,栏目绑定二级域名办法

通过.htaccess文件设置重定向,把二级域名绑定到指定的子目录。
先把要绑定的域名A记录或CNAME也指向和主域名所在的主机IP,  然后可以.htaccess通过如下代码绑定相应文件夹:

例如:www.nongyejing.com/bbs  到 bbs.nongyejing.com
代码如下:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^bbs.domain.com$
RewriteCond %{REQUEST_URI} !^/bbs/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /bbs/$1
RewriteCond %{HTTP_HOST} ^bbs.domain.com$
RewriteRule ^(/)?$ bbs/index.php [L]

如果很多个二级域名都指定的话,每个都这么写.htaccess文件就会非常庞大臃肿,可以使用以下正则匹配写法:
代码如下:
 

RewriteCond %{HTTP_HOST} ^(bbs|blog|download).domain.com$
RewriteRule ^(.*)$ /%1/$1 [L, NC]


     这样,会自动把bbs对应到bbs目录,blog对应到blog目录,download对应到download,要加新的域名时,只需要在上面那行按格式添加即可。案例:www.qihanghao.cn

另外我们还要做下301重定向。

我们可以利用.htaccess重写来实现301跳转,具体操作方法是--在子目录文件夹中放.htaccess文件,内容为:

 <IfModule mod_rewrite.c>

        RewriteEngine on

        RewriteCond %{HTTP_HOST}   ^www\.cnmeizhuang\.com$ [NC]

        RewriteRule ^(.*)$   http://bbs.cnmeizhuang.com [R=301,L]

    </IfModule>

这段语句的含义就是说:从此文件夹开始,所有请求到 www.cnmeizhuang.com/bbs 的网址都会被重定向到 bbs.cnmeizhuang.com这个二级域名,于是成功实现子目录301重定向到app子目录。

展开阅读全文

没有更多推荐了,返回首页