删除 URL 中的 GET 查询

南多戴维斯

我制作了一个.htaccess文件,用于在路径查询中转换 URL。它确实有效,但是当我做这样的事情时:localhost/login我得到了这个localhost/login?path=login如何更改它以便在 URL 中看不到路径?

.htaccess

RewriteEngine On
RewriteCond $1 !^__init__\.php
RewriteRule ^(.*)$ __init__.php?path=$1 [L,QSA]
怀特先生

是否login.php作为物理文件存在?如果是这样,那么您需要确保MultiViews已禁用。.htaccess文件顶部尝试以下操作:

Options -MultiViews

有一个文件夹叫登录

啊,那就是问题所在。mod_dir 发出从/loginto的外部重定向/login/(即附加斜杠)。由于已经发出重定向,您的内部重写现在变成了外部重定向(因为Location已经设置了 HTTP 状态和标头)。

您需要更改该目录的名称。或者禁用 mod_dir 的这个特性(但这会导致更多的问题)。例如,在.htaccess文件顶部

DirectorySlash Off

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章