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

如何通过.htaccess从swagger目录加载指定index.php?

解决Yii2中Swagger UI访问404的.htaccess配置方案

直接修改项目web目录下的.htaccess文件,在现有重写规则前添加一条优先放行Swagger路径的规则即可:

RewriteEngine on

# 放行swagger目录下的所有请求,不经过Yii路由处理
RewriteRule ^swagger/ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

<IfModule mod_headers.c>
   Header set Access-Control-Allow-Origin "*"
</IfModule>

规则说明

  • RewriteRule ^swagger/ - [L]:匹配所有以/swagger/开头的请求,-表示不做任何重写,[L]表示这是最后一条规则,Apache会停止后续的重写逻辑,直接去加载对应路径下的文件或目录。
  • 原有规则保持不变,继续处理其他非文件、非目录的请求,转发到Yii的index.php进行路由解析。

额外检查

  1. 确保swagger目录位于Yii2项目的web目录下(即和.htaccess、index.php同级);
  2. 确认swagger目录及内部文件的权限设置正确,Apache服务器有读取权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:10:18