如何通过.htaccess实现dom.net到dom.com指定页面的永久重定向
可以实现!具体配置方法如下
咱先明确:既然dom.net已经是dom.com的别名,访问dom.net时会加载dom.com根目录下的文件,所以直接在dom.com根目录的.htaccess里添加重写规则就行,完全能搞定这个需求。
具体配置步骤
- 确保你的Apache服务器已经启用了
mod_rewrite模块(绝大多数主机默认都开着,要是不确定可以问下主机商)。 - 打开(或新建)dom.com根目录下的
.htaccess文件,把下面的代码粘贴进去:
RewriteEngine On # 匹配访问dom.net的请求(包括带www的情况,比如www.dom.net) RewriteCond %{HTTP_HOST} ^(www\.)?dom\.net$ [NC] # 永久重定向到指定页面 RewriteRule ^(.*)$ https://dom.com/test/example.html [R=301,L]
规则解释
RewriteEngine On:开启URL重写引擎,这是所有重写规则的基础。RewriteCond %{HTTP_HOST} ^(www\.)?dom\.net$ [NC]:判断请求的主机名是否是dom.net或www.dom.net,[NC]表示忽略大小写(比如DOM.NET也会被匹配)。RewriteRule ^(.*)$ https://dom.com/test/example.html [R=301,L]:只要满足上面的条件,就把所有请求永久重定向到https://dom.com/test/example.html。R=301表示永久重定向(对SEO友好,告诉搜索引擎这个地址已经永久迁移),L表示这是最后一条规则,匹配到后就不再执行后面的规则。
注意事项
- 测试前记得清浏览器缓存!因为301重定向会被浏览器缓存,要是之前访问过dom.net,可能需要清缓存才能看到效果。
- 如果你的站点用的是HTTP而不是HTTPS,就把规则里的
https://改成http://。 - 要是只想匹配不带www的dom.net,把条件里的
(www\.)?删掉就行,变成RewriteCond %{HTTP_HOST} ^dom\.net$ [NC]。
内容的提问来源于stack exchange,提问作者Pan Prdel
相关产品推荐
相关产品推荐

