# HTTP 异常：308 永久重定向：检测到重定向循环

- **ID:** `python/starlette-http-redirect-loop`
- **领域:** python
- **类别:** network_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

Starlette 应用中的重定向配置导致无限循环

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 3.10 | active | — | — |
| 3.11 | active | — | — |

## 解决方案

1. **检查并修复重定向逻辑** (90% 成功率)
   ```
   # 确保不重定向到自身
if request.url.path != '/target':
    return RedirectResponse('/target')
   ```
2. **使用条件重定向避免循环** (85% 成功率)
   ```
   if not request.cookies.get('redirected'):
    response = RedirectResponse('/target')
    response.set_cookie('redirected', '1')
    return response
   ```

## 无效尝试

- **增加重定向次数限制但未修复逻辑** — 最终仍会失败，且用户体验差 (70% 失败率)
- **删除所有重定向路由** — 可能破坏应用功能 (60% 失败率)
