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

如何在.htaccess中正确重定向指定URL?

解决.htaccess 301重定向无限循环问题

问题根源

你使用的Redirect指令是前缀匹配机制,第一条规则Redirect 301 /web-apps https://its4you.gr/ypiresies/web-apps会拦截所有以/web-apps开头的请求(包括后面的子路径),导致后面三条针对具体子页面的规则完全不会生效。同时,这种前缀匹配会把原本要重定向到/web-apps/xxx的请求错误转到/ypiresies/web-apps/xxx,进而触发服务器的其他路由逻辑,最终引发无限循环。

正确配置方案

改用mod_rewrite的RewriteRule,它支持精确匹配且规则优先级可控,把更具体的子路径规则放在最上方,避免被父路径规则提前拦截。以下是完整的.htaccess代码:

RewriteEngine On

# 重定向具体子页面规则(放在最前面)
RewriteRule ^web-apps/kataskevi-epaggelmatikou-katalogou$ /web-apps/kataskevi-epeggelmatikou-katalogou [R=301,L]
RewriteRule ^web-apps/kataskevi-istoselidas-blog$ /web-apps/kataskevi-blog [R=301,L]
RewriteRule ^web-apps/kataskevi-istoselidon-mesiton$ /web-apps/kataskevi-istoselidas-real-estate [R=301,L]

# 重定向父路径规则(放在最后)
RewriteRule ^web-apps$ /ypiresies/web-apps [R=301,L]

规则说明

  • RewriteEngine On:开启mod_rewrite模块(需确保服务器已启用该模块)。
  • ^和$:用于精确匹配URL路径,避免前缀匹配带来的误拦截。比如^web-apps$只会匹配/web-apps这个精确路径,不会匹配它的子路径。
  • [R=301,L]:R=301表示永久重定向,L表示当前规则执行后终止后续规则的处理,避免冲突。

额外注意事项

  1. 测试前请清空浏览器缓存,因为301重定向会被浏览器强缓存,旧的重定向规则可能影响测试结果。
  2. 若服务器未启用mod_rewrite,可联系服务商协助开启。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 15:22:25