You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过.htaccess实现除/backend外所有URL重定向到新域名?

解决.htaccess排除虚拟路径/backend重定向失效的问题

你的问题出在两个关键点:一是原规则仅精确匹配/backend/(带结尾斜杠),无法覆盖/backend或/backend/xxx这类路径;二是虚拟地址的/backend可能已经被其他重写规则修改了REQUEST_URI变量,导致排除条件失效。以下是两种可行的解决方案:

方案一:基于原始请求行匹配(最可靠,适配虚拟路径)

利用%{THE_REQUEST}变量,它记录的是客户端发送的原始请求行,不会被后续重写规则修改,能准确识别原始请求的路径:

# 匹配example.de或www.example.de的请求
RewriteCond %{HTTP_HOST} ^(www\.)?example\.de$
# 排除所有以/backend开头的原始请求(包括/backend、/backend/、/backend/xxx)
RewriteCond %{THE_REQUEST} !\s/backend(/|\s)
# 重定向到新域名
RewriteRule ^ https://www.bing.de/ [R=302,L]

方案二:调整REQUEST_URI的匹配范围

如果不需要考虑原始请求的修改问题,也可以扩大REQUEST_URI的排除范围,覆盖所有/backend开头的路径:

RewriteCond %{HTTP_HOST} ^(www\.)?example\.de$
# 排除/backend、/backend/以及所有子路径
RewriteCond %{REQUEST_URI} !^/backend(/.*)?$
RewriteRule ^ https://www.bing.de/ [R=302,L]

额外注意事项

如果/backend是由其他.htaccess规则处理的虚拟路径,请确保上述重定向规则放在所有处理/backend的规则之前,否则L标志会终止后续规则,导致/backend的虚拟路径无法被正确解析。

内容的提问来源于stack exchange,提问作者Patrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 11:54:23