1

我最近在我的服务器中设置了一些新文件夹,但我想关闭它们以及禁止它们的所有子文件夹。所以,使用.htaccess,我只是使用deny from all. 这里的问题是它把我重定向到主机的 404 页面(有很多广告,加入我们,它看起来像他们的首页),而不是常规的 403 页面。

这似乎是一个非常微不足道的问题,但我无法在任何地方找到答案。如何获取该文件夹中的所有内容以使用经典的 403 页面,如下所示:

<html>
<head>
<title>403 Forbidden</title>
</head>
<body>
<h1>Forbidden</h1>
<p>You don't have permission to access /example/example2/exampleC/
on this server.</p>
</head>
</html>

这取决于我刚刚输入的文件夹。如果在/example/我有/example1/,/example2/并且/example3/, 我该如何做这样如果我输入 /example1/ ,我会得到一个 403 页面,说我无权访问/example/example1/

这可能看起来有点过于(不必要)复杂。

4

1 回答 1

0

让我们一步一步调试

要进行调试,请按照以下步骤操作

  1. 在 DocumentRoot .htaccess 中重命名为 .htaccess_safe
  2. 在 DocumentRoot "test" 中创建一个文件夹
  3. 在该文件夹中插入具有以下内容的.htaccess

    重写引擎开启

    重写规则 ^(.*)$ http://google.de [L,R=301]

  4. 在浏览器中打开http://example.com/test/ [你应该重定向到谷歌]

如果这可行...在第 5 步下阅读更多内容。

如果不是...把这个 .htaccess 放在 DocumentRoot 文件夹中并在浏览器中打开http://example.com/test/如果它也没有运行,请停止调试。如果有效,您的服务器将无法在子文件夹中执行 .htaccess(检查您的服务器组、用户和 chmod 上的 .htaccess 文件的权限......

(5) 将您的 .htaccess_safe 重命名为 .htaccess 并将第 12 行 RewriteRule ^$ http://www.avatarchan.net/site/ [R=301,L] 更改为 #RewriteRule ^$ http://www.avatarchan。 net/site/ [R=301,L] 再试一次

于 2012-09-05T15:25:14.480 回答