我的网站根目录中有大约30个目标网页目录,为了整洁,我想将所有文件移动到/登录目录。我希望着陆页的所有公共虚荣URL仍然可用,而不是在地址栏中显示“登陆”目录。
例如,我想要 www.site.com/happiness
显示存储在my / landing / happiness目录中的内容,但我希望地址栏中的网址仍显示www.site.com/happiness。
我现在在.htaccess中拥有的是
RewriteRule ^happiness(.*)?$ landing/happiness$1 [NC,L,QSA]
这显示内容正常,但会重写地址栏中的URL并显示“登陆”目录。如何在.htaccess中重写,以便提供的文件位于登录目录中,但地址栏显示原始的虚URL?
感谢您的帮助!
答案 0 :(得分:-1)
当您输入没有尾部斜杠的目录网址时,会发生这种情况,例如/happiness
或/happiness/subdir
。在这种情况下,mod_dir
会使用一个尾部斜杠向网址发出重定向。
您可以通过始终向内部重定向添加尾部斜杠
来规避这一点RewriteRule ^happiness(?:/.*)?$ landing/$0/ [NC,L,QSA]
这样做的缺点是,即使它是一些PHP文件,你最后总是有一个斜杠。