【问题标题】:XAMPP Apache Server issuing undesired 301 redirect for REST APIXAMPP Apache 服务器为 REST API 发出不需要的 301 重定向
【发布时间】:2020-04-30 13:47:40
【问题描述】:

诸如“http://localhost/api/inquiry”之类的 GET 和 POST 请求被 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"

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    似乎可以通过在 .htaccess 中添加以下内容来解决;将继续测试并报告任何副作用。

    <IfModule mod_dir.c>
    
    DirectorySlash Off
    
    </IfModule>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-20
      • 1970-01-01
      • 2016-04-18
      • 1970-01-01
      • 2018-09-01
      • 2010-11-05
      • 1970-01-01
      • 2018-08-09
      相关资源
      最近更新 更多