我希望实现的目标相当简单。我在 Web 服务器的根目录上有一个开发文件夹,我不希望人们在没有登录的情况下访问它。如果他们访问正在开发的页面并且没有登录(或尝试登录但失败),.htaccess 文件应该将他们重定向到错误页面,然后延迟重定向到主页。
我正在使用两个 .htaccess 文件来实现这一点,一个在根目录上,内容如下:
ErrorDocument 400 /error.php
ErrorDocument 401 /error.php
ErrorDocument 403 /error.php
ErrorDocument 404 /error.php
ErrorDocument 500 /error.php
和一个在开发文件夹的根目录中,内容为:
AuthType Basic
AuthName "Development Area"
AuthUserFile /home/content/44/7545744/html/_dev/.htpasswd
Require valid-user
error.php 希望与网站的其余部分一样样式化,并且内容会告知用户他们遇到的错误类型并包含元重定向。
现在,如果您已经在站点上并尝试转到开发文件夹,这可以正常工作,但是,如果您在首先进入实时站点并关闭登录窗口之前单击开发文件夹的链接,它会弹出正确在显示没有样式的错误页面之前至少备份 5 次。
如果您想观看现场演示,请访问ionnursing.com,然后将/_dev/添加到 URL。如果退出登录窗口,您可以看到所需的效果,显示错误页面,十秒钟后将您重定向到主页。但是,Google Ion Nursing 并选择了许多指向 _dev 文件夹的链接之一。在将您重定向到错误页面之前,登录窗口会显示多次。
我对 .htaccess 文件没有太多经验,所以我猜我做错了什么。任何指导将不胜感激。
我已经添加了一个 robots.txt 文件,告诉爬虫忽略 _dev 文件夹,但是,我确实需要重定向才能工作,直到搜索引擎更新。