微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

防止在 apache 服务器中将“路径”重定向到“路径/”

如何解决防止在 apache 服务器中将“路径”重定向到“路径/”

我正在使用 XAMPP 创建本地服务器,并注意到当我访问诸如 localhost/path 之类的内容时,我被重定向 (301) 到 localhost/path/

问题是我试图向 localhost/path 发送一个 POST 请求,在被重定向后它变成了一个 GET请求。

有没有办法防止这种重定向的发生?

值得一提的是,我在 .htaccess 文件中使用了 mod_rewrite,但即使禁用了所有规则,行为仍保持不变。

编辑

我意识到我有一个名为 path文件夹,重命名它会阻止 localhost/path 重定向

但是,当文件夹存在同名时,有没有办法避免这种行为(没有得到 301 到 localhost/path/)?

解决方法

您可以结合使用 DirectorySlash 指令和删除尾部斜杠的常规正则表达式:

RewriteEngine On

DirectorySlash Off
RewriteRule ^(.+?)/$ /$1 [R=302,NE,L]

示例:假设 path 是现有文件夹而 foo 不存在:

  • /path/ => /path
  • /path/foo/ => /path/foo
  • /foo/ => /foo
  • /path 保持不变
  • /path/foo 保持不变
  • /foo 保持不变

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。