同服务器下.htaccess将旧域名重定向至新域名指定目录问题
解决旧域名重定向到新域名指定目录的问题
核心配置前提确认
- 确保Apache服务器已启用
mod_rewrite模块,且对应网站目录的AllowOverride设置为All(否则.htaccess规则无法生效)。 - 确认两个域名共享同一文档根目录——若旧域名有独立根目录,放在新域名根目录的.htaccess不会对旧域名请求生效,需将规则移至服务器共享的根目录下。
正确的.htaccess重定向规则
替换olddomain.com和newdomain.com为你的实际域名,将规则放在服务器文档根目录的.htaccess文件中:
RewriteEngine On # 匹配旧域名(不区分大小写) RewriteCond %{HTTP_HOST} ^olddomain\.com$ [NC] # 永久重定向到新域名的/de/besuchen目录,保留原请求路径(不需要保留则去掉$1) RewriteRule ^(.*)$ https://newdomain.com/de/besuchen/$1 [L,R=301]
规则关键细节说明
[NC]:忽略域名大小写匹配,避免因大小写差异导致规则失效。[R=301]:标记为永久重定向,对SEO友好;测试阶段建议先用R=302临时重定向,确认正常后再改为301(防止浏览器缓存错误规则)。[L]:表示这是最后执行的规则,避免后续规则干扰当前重定向逻辑。
常见失效原因排查
- 浏览器缓存干扰:301重定向会被浏览器缓存,测试时用隐私窗口打开旧域名,或清除浏览器缓存后重试。
- 规则顺序问题:若.htaccess内还有其他重写规则,将这条旧域名重定向规则放在所有规则最顶部,防止被其他规则覆盖。
- 域名解析未生效:用
ping olddomain.com验证是否指向正确服务器IP,解析未生效时重定向不会触发。 - 文件权限问题:确保.htaccess文件权限为644,服务器能正常读取该文件。
内容的提问来源于stack exchange,提问作者user1272597
相关产品推荐
相关产品推荐

