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

.htaccess URL重写异常:api_authenticate.php无法重定向至authenticate

解决.htaccess中API URL重写的404问题

你的问题根源在于:当前规则只实现了从旧URL(api/api_authenticate.php)到新URL(/api/authenticate)的301重定向,但没有配置从新URL到实际PHP文件的内部重写。当浏览器被重定向到/api/authenticate后,服务器找不到对应的物理文件或路由,因此返回404错误。

修改后的完整.htaccess配置

Options -MultiViews
RewriteEngine On
RewriteBase /

# 重定向旧API URL到友好URL(添加条件避免循环)
RewriteCond %{THE_REQUEST} ^GET\ /api/api_authenticate\.php
RewriteRule ^api/api_authenticate\.php$ /api/authenticate [L,R=301]

# 其他页面重定向规则
RewriteRule ^index\.php$ / [L,R=301]
RewriteRule ^login\.php$ /login [L,R=301]
RewriteRule ^logout\.php$ /logout [L,R=301]

# 内部重写规则(映射友好URL到实际文件)
RewriteRule ^admin/user/([0-9]+)$ admin/user.php?id=$1 [L]
RewriteRule ^api/authenticate$ api/api_authenticate.php [L]

关键修改说明

  1. 添加重定向条件:RewriteCond %{THE_REQUEST} ^GET\ /api/api_authenticate\.php
    只对用户直接访问api/api_authenticate.php的请求触发重定向,避免内部重写后再次触发规则导致循环。

  2. 新增内部重写规则:RewriteRule ^api/authenticate$ api/api_authenticate.php [L]
    将/api/authenticate这个友好URL内部映射到实际的api/api_authenticate.php文件,服务器会处理该文件的请求但不会改变浏览器地址栏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:12:13