我有这个由其他公司开发的web api项目。文件结构是:
/project
---/app
---/ApiEndpoint.php
---/public
---/index.php
DocumentRoot 指向/project/public
。 index.php 正在运行(http://myapi.com/),但是当我尝试浏览api端点 http://myapi.com/api/endpoint 我收到404错误。
如何配置 .htaccess 来重写此条件?
/project/public/.htaccess config
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*)$ /index.php?path=$1 [NC,L,QSA]
</IfModule>
答案 0 :(得分:0)
当前配置是为了确保每个请求都转到index.php(可能以某种方式调度请求),除了实际位于公共目录中的文件(可能需要静态文件,如图像等) )。
如果您自己编写了一个由http://myapi.com/api/endpoint
直接调用的php,则应将其放在/project/app/public/api/endpoint/index.php
中。
但我怀疑你应该更多地学习那个应用程序并理解当前的调度方法。