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

时间:2015-03-19 08:17:22

标签: apache .htaccess mod-rewrite redirect http-status-code-404

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

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

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

我通过将thisthis问题的答案结合起来,得到了这行代码。它在“www.example.com/cgi-bin/dir”本身上工作正常,但不适用于目录下方的任何链接。非工作链接包含“http://www.example.com/cgi-bin/dir/search.cgi”等链接。 cgi-bin文件夹或相关子文件夹中没有.htaccess文件。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

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

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