如何通过.htaccess文件将.nl域名全站重定向至对应.com域名?
全站.nl域名重定向到.com域名的解决方案
需求说明
将crossborderevent.nl(包含www子域名)的所有页面,重定向到crossborderevent.com的对应路径,例如访问crossborderevent.nl/about-us时自动跳转至crossborderevent.com/about-us。
原代码问题分析
你提供的代码逻辑方向正确,但可能存在以下问题导致失效:
HTTP_HOST匹配未加$结尾,可能误匹配到类似crossborderevent.nl.xxx的无效域名- 若目标域名无需
www前缀,原代码的目标地址会强制添加www,不符合需求 - 未明确处理HTTPS/HTTP的兼容问题
修正后的.htaccess代码
情况1:重定向到不带www的.com域名
<IfModule mod_rewrite.c> RewriteEngine On # 匹配带www和不带www的.nl域名 RewriteCond %{HTTP_HOST} ^(www\.)?crossborderevent\.nl$ [NC] # 保留原路径,重定向到不带www的.com域名(HTTPS) RewriteRule ^(.*)$ https://crossborderevent.com/$1 [R=301,L] </IfModule>
情况2:重定向到带www的.com域名
如果你需要强制跳转至带www的目标域名,可使用以下代码:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?crossborderevent\.nl$ [NC] RewriteRule ^(.*)$ https://www.crossborderevent.com/$1 [R=301,L] </IfModule>
关键注意事项
- 确保服务器已开启
mod_rewrite模块(可通过phpinfo()或服务器配置文件确认) - 将
.htaccess文件放在crossborderevent.nl网站的根目录下 - 测试阶段建议先用
R=302临时重定向,避免浏览器缓存301规则导致调试困难,确认生效后再改回R=301永久重定向 - 确认
crossborderevent.nl的服务器配置允许.htaccess文件生效(需在Apache的虚拟主机配置中设置AllowOverride All)
内容的提问来源于stack exchange,提问作者Broxys
相关产品推荐
相关产品推荐

