如何限制对网站内容的访问?

How to restrict access to content on a website?

假设我有一个域:www.example.com,我通过 ftp 上传了所有必要的文件。 我想成为 public 的站点上有 10 个页面,访问者不应访问所有其他内容。现在,任何人都可以输入以下内容 "www.example.com/data/text.txt",并获取其中的所有信息。

那么有没有办法以这种方式限制对网站内容的访问?

如果您知道 apache 服务器的版本:

在您要保护的文件夹中创建一个 .htaccess 文件,其中 apache 版本低于 2.4 documentation:

Order deny,allow
Deny from all

对于 apache 版本 >= 2.4 documentation

Require all denied

对于自定义错误页面,添加额外的行:

ErrorDocument 404     /404.html #for error 404 file not found
ErrorDocument 401     /404.html #for error 401 unauthorized
ErrorDocument 403     /404.html #for error 403 forbidden

如果需要,您也可以使用 mod_rewrite,如下所示:

将以下内容添加到根目录中的 .htaccess 文件中。

RewriteEngine On

RewriteBase /

RewriteRule ^yoursite1.html - [L]
RewriteRule ^yoursite2.html - [L]
RewriteRule ^error.html - [L]

#everything else
RewriteRule ^(.*)$ error.html [QSA,L]