0

我的站点根目录中有大约 30 个登录页面目录,为了简洁起见,我想将所有文件移动到 /landing 目录。我希望登陆页面的所有公共虚 URL 仍然有效,并且不在地址栏中显示“登陆”目录。

例如,我想要 www.site.com/happiness

显示存储在我的 /landing/happiness 目录中的内容,但我希望地址栏中的 url 仍然显示 www.site.com/happiness。

我现在在我的 .htaccess 中拥有的是

RewriteRule ^happiness(.*)?$ landing/happiness$1 [NC,L,QSA]

这可以很好地显示内容,但会重写地址栏中的 URL 并公开“登陆”目录。如何在 .htaccess 中进行重写,以便提供的文件位于登录目录中,但地址栏显示原始虚 URL?

谢谢你的帮助!

4

1 回答 1

-1

当您输入不带斜杠的目录 URL /happiness(例如 或/happiness/subdir. 在这种情况下,将重定向到带有尾部斜杠mod_dir的 URL 。

您可以通过始终在内部重定向中添加尾部斜杠来规避这一点

RewriteRule ^happiness(?:/.*)?$ landing/$0/ [NC,L,QSA]

这样做的缺点是,结尾总是有一个斜线,即使它是一些 PHP 文件。

于 2013-02-26T00:42:22.333 回答