我不是 URL重写的专家,但我想使用 .htaccess 来显示如下路径:
https://www.example.com/folder/login/
以这种方式:
https://www.example.com/folder/
但是我不希望真正的重定向:我的网站应该显示https://www.example.com/folder/login/
页,但是URL会有所不同,以便用户可以在登录时认为自己仍然在https://www.example.com/folder/
上。
有可能吗?
如果是,最后一个问题:我已经在ROOT文件夹中启用了RewriteEngine on
,是否也必须将它放在另一个 .htaccess 文件中(该文件放在{ {1}})?
答案 0 :(得分:1)
/folder/
是请求的URL,出现在浏览器的地址栏中,/folder/login/
是将请求重写到的基础文件系统路径。
要将内部/folder/
重写为/folder/login/
,请尝试在根.htaccess
文件中进行以下操作。
RewriteEngine On
RewriteRule ^folder/$ /folder/login/ [L]
/folder/login/
可能是文件系统目录,因此不会直接处理该请求。理想情况下,您将直接重写为处理请求的文件。在这种情况下,我假设mod_dir将发出目录索引文档的内部子请求,例如。 index.php
?
我已经在ROOT文件夹上启用了RewriteEngine
请注意,指令的顺序很重要。
我也必须把它放在另一个
.htaccess
文件中吗(放在https://www.example.com/folder/login/
中)
否,您可以将其放在根.htaccess
文件中。 (您可以将其放在/folder/.htaccess
中,但是指令需要更改。将其放在/folder/login/.htaccess
中是没有意义的,因为那样便无法隐藏/login
子目录。 )