我制作了一个.htaccess
文件,用于在路径查询中转换 URL。它确实有效,但是当我做这样的事情时:localhost/login
我得到了这个localhost/login?path=login
。如何更改它以便在 URL 中看不到路径?
RewriteEngine On
RewriteCond $1 !^__init__\.php
RewriteRule ^(.*)$ __init__.php?path=$1 [L,QSA]
是否login.php
作为物理文件存在?如果是这样,那么您需要确保MultiViews
已禁用。在.htaccess
文件顶部尝试以下操作:
Options -MultiViews
有一个文件夹叫登录
啊,那就是问题所在。mod_dir 发出从/login
to的外部重定向/login/
(即附加斜杠)。由于已经发出重定向,您的内部重写现在变成了外部重定向(因为Location
已经设置了 HTTP 状态和标头)。
您需要更改该目录的名称。或者禁用 mod_dir 的这个特性(但这会导致更多的问题)。例如,在.htaccess
文件顶部:
DirectorySlash Off
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句