apache - XAMPP Apache 服务器为 REST API 发出不需要的 301 重定向
问题描述
GET 和 POST 请求,例如“ http://localhost/api/inquiry ”被 301 重定向到“ http://localhost/api/inquiry/ ”(注意添加斜杠)
我不知道为什么,但非常想让它停止!
GET ' http://localhost/api/inquiry/7 ' 按预期执行(NO 301 重定向
XAMPP Apache/2.4.43 (Win64) OpenSSL/1.1.1f PHP/7.4.4
.HTACCESS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule api/inquiry/(\d+)$ api/inquiryController.php?id=$1 [QSA,NC,L]
RewriteRule api/inquiry$ api/inquiryController.php [NC,L]
</IfModule>
错误日志
[Thu Apr 30 09:17:16.707754 2020] [mpm_winnt:notice] [pid 18500:tid 728] AH00354: Child: Starting 150 worker threads.
[Thu Apr 30 09:17:23.684722 2020] [rewrite:trace3] [pid 18500:tid 1892] mod_rewrite.c(483): [client ::1:62841] ::1 - - [localhost/sid#25a54c39968][rid#25a57648a60/initial] [perdir C:/xampp/htdocs/] strip per-dir prefix: C:/xampp/htdocs/api/inquiry -> api/inquiry
[Thu Apr 30 09:17:23.684722 2020] [rewrite:trace3] [pid 18500:tid 1892] mod_rewrite.c(483): [client ::1:62841] ::1 - - [localhost/sid#25a54c39968][rid#25a57648a60/initial] [perdir C:/xampp/htdocs/] applying pattern 'api/inquiry/(\\d+)$' to uri 'api/inquiry'
[Thu Apr 30 09:17:23.684722 2020] [rewrite:trace3] [pid 18500:tid 1892] mod_rewrite.c(483): [client ::1:62841] ::1 - - [localhost/sid#25a54c39968][rid#25a57648a60/initial] [perdir C:/xampp/htdocs/] strip per-dir prefix: C:/xampp/htdocs/api/inquiry -> api/inquiry
[Thu Apr 30 09:17:23.684722 2020] [rewrite:trace3] [pid 18500:tid 1892] mod_rewrite.c(483): [client ::1:62841] ::1 - - [localhost/sid#25a54c39968][rid#25a57648a60/initial] [perdir C:/xampp/htdocs/] applying pattern 'api/inquiry$' to uri 'api/inquiry'
[Thu Apr 30 09:17:23.684722 2020] [rewrite:trace2] [pid 18500:tid 1892] mod_rewrite.c(483): [client ::1:62841] ::1 - - [localhost/sid#25a54c39968][rid#25a57648a60/initial] [perdir C:/xampp/htdocs/] rewrite 'api/inquiry' -> 'api/inquiryController.php'
[Thu Apr 30 09:17:23.685722 2020] [rewrite:trace3] [pid 18500:tid 1892] mod_rewrite.c(483): [client ::1:62841] ::1 - - [localhost/sid#25a54c39968][rid#25a57648a60/initial] [perdir C:/xampp/htdocs/] add per-dir prefix: api/inquiryController.php -> C:/xampp/htdocs/api/inquiryController.php
[Thu Apr 30 09:17:23.685722 2020] [rewrite:trace2] [pid 18500:tid 1892] mod_rewrite.c(483): [client ::1:62841] ::1 - - [localhost/sid#25a54c39968][rid#25a57648a60/initial] [perdir C:/xampp/htdocs/] strip document_root prefix: C:/xampp/htdocs/api/inquiryController.php -> /api/inquiryController.php
[Thu Apr 30 09:17:23.685722 2020] [rewrite:trace1] [pid 18500:tid 1892] mod_rewrite.c(483): [client ::1:62841] ::1 - - [localhost/sid#25a54c39968][rid#25a57648a60/initial] [perdir C:/xampp/htdocs/] internal redirect with /api/inquiryController.php [INTERNAL REDIRECT]
访问日志
::1 - - [30/Apr/2020:09:17:23 -0400] "GET /api/inquiry HTTP/1.1" 301 336 "-" "PostmanRuntime/7.24.1"
解决方案
似乎可以通过将以下内容添加到 .htaccess 来解决;将继续测试并报告任何副作用。
<IfModule mod_dir.c>
DirectorySlash Off
</IfModule>
推荐阅读
- android - android中的Firebase数据库参考
- pandas - Pandas - 将数据从一个 Dataframe 附加到
- c# - 如何使用默认的asp.net核心DI容器在类中注入单个接口的多个服务类实现
- php - if语句在while内不显示空标签
- ios - XLPagerTabStrip 快速
- laravel-5 - Laravel 雄辩的 Int 大于列,但小于其他列
- xamarin - 带有自定义标签菜单的底部标签栏
- ios - 什么是核心数据目标中的 __NSFrozenArrayM - C
- python - 如何在python中使用正则表达式获取结束字符串?
- java - 将行从数据库导出到 csv 文件