使用.htaccess将新别名域名重定向到指定文件夹或子域名咨询
配置实现方案
以下两种方案均基于Apache的mod_rewrite模块实现,代码直接添加到站点根目录的.htaccess文件中即可生效。
方案1:域名B访问时指向服务器指定文件夹
该方案为内部重写,用户访问域名B时地址栏不会发生变化,直接返回指定文件夹下的内容:
RewriteEngine On # 匹配所有访问域名B的请求(含www前缀的情况) RewriteCond %{HTTP_HOST} ^(www\.)?域名B\.com$ [NC] # 防止循环重写 RewriteCond %{REQUEST_URI} !^/你指定的目标文件夹/ [NC] # 重写所有请求到目标文件夹路径 RewriteRule ^(.*)$ /你指定的目标文件夹/$1 [L]
注意:目标文件夹必须位于当前站点的根目录范围内,.htaccess无法访问站点根目录之外的路径。
方案2:域名B跳转到域名A的指定子域名
该方案为301永久跳转,对SEO友好,用户访问域名B时地址栏会自动切换为域名A的子域名地址:
RewriteEngine On # 匹配所有访问域名B的请求(含www前缀的情况) RewriteCond %{HTTP_HOST} ^(www\.)?域名B\.com$ [NC] # 301跳转到目标子域名,保留原请求路径 RewriteRule ^(.*)$ https://你的子域名.域名A.com/$1 [R=301,L]
通用注意事项
- 需确保服务器已经开启mod_rewrite模块,绝大多数Apache默认环境已开启该功能
- 代码中的占位符(域名B、目标文件夹、子域名.域名A.com)需要替换为你实际的业务内容
- 规则中的
[NC]标识代表不区分大小写匹配,[L]标识代表匹配到该规则后不再执行后续重写规则
内容的提问来源于stack exchange,提问作者male-gal
相关产品推荐
相关产品推荐

