版权声明:本文为博主原创文章,未经博主允许不得转载。 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子目录。