.htaccess 如何隐藏受限目录中的页面,但从另一个URL提供其内容?

qnzebej0  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(112)

我在名为admin/的文件夹中有一些管理页面。这些页面需要用户登录才能执行操作,但我希望用户更难找到它们。我希望用户从新文件夹(如secret/)访问管理页面,而不是从admin/访问管理页面。我希望实现以下目标:

  • 当访问secret/时,提供admin/的内容。
  • 当访问admin/时,返回404页面。

代码中有很多对admin/的引用,所以我希望避免手动查找和替换这些引用,并以另一种方式实现这些功能。
我尝试过在. htaccess中使用重写规则,在index.php文件中,我也尝试过检查URI,如果它包含admin/,则返回404。
第一个
到目前为止,这些都是我能想到的,但都没有帮助。为此采取什么正确的方法呢?

lnvxswe2

lnvxswe21#

您可以在站点根目录.htaccess中使用以下代码:

RewriteEngine On

# externally redirect /admin/* to /secret/*
RewriteCond %{THE_REQUEST} \s/+admin/(\S*) [NC]
RewriteRule ^ /secret/%1 [R=301,NE,L]

# internal rewrite from secret/ to admin/
RewriteRule ^secret/(.*) admin/$1 [NC,L]

相关问题