如何 404 重定向子目录中的所有链接?

How do I 404 redirect all links in a sub-subdirectory?

我们正在删除指向我们网站的一些垃圾入站链接。这意味着我们希望将这些链接解析为“404 未找到”。我在整理执行此操作所需的基本 .htaccess 修改时遇到问题。

我希望任何以 'www.example.com/cgi-bin/dir' 开头的链接都提供 404 代码,因此我将其添加到 www 目录中的 .htaccess 中:

RewriteRule ^cgi-bin/dir.*$ - [L,R=404]

我通过组合 this and this question. It works fine on 'www.example.com/cgi-bin/dir' itself, but does not work for any link lower down the directory. Non-working links include links like 'http://www.example.com/cgi-bin/dir/search.cgi' 的答案得到了这行代码。 cgi-bin 文件夹或相关子文件夹中没有 .htaccess 文件。

有什么想法吗?

我最终在 cgi-bin/dir 目录中创建了一个 .htaccess 文件。它包含这些行:

RewriteEngine On
RewriteRule ^(.*)$ - [R=404,L]

我猜问题是 www 目录中的 .htaccess 没有被读取,因为我们进入的是 cgi-bin 目录,它与 www 目录处于同一级别,而不是在它里面。