【问题标题】:How to configure an Apache rewrite-rule to redirect all requests to 404 unless explicitly allowed除非明确允许,否则如何配置 Apache 重写规则以将所有请求重定向到 404
【发布时间】:2011-09-07 05:00:33
【问题描述】:

我从昨天开始在网上搜索,但找不到答案。至少有一个适用于 apache2。

我只想要一组 rewritemod 规则,这将使 apache 将所有内容重定向到 404,但允许我为某些文件/文件夹显式覆盖它。

我尝试了一个包容性规则,但我无法让它发挥作用。

谢谢。

【问题讨论】:

    标签: regex apache mod-rewrite http-status-code-404


    【解决方案1】:
    RewriteRule ^/protectedfolder/(.*) -  [L] /* no substitution , serve as it is for this folder*/
    RewriteRule ^$ - [R=404,L] /*reject everything */
    

    【讨论】:

    • 谢谢,但它没有按预期工作。我想将所有内容重定向到 404,甚至是 403(禁止)错误。我尝试过使用这样的 rewritecond:'RewriteCond %{REQUEST_URI} !^/images',以及重定向所有内容的简单规则,但它不起作用。
    【解决方案2】:

    只需在您的 .htaccess 文件中尝试这一行:

    RewriteRule ^(?!(allowedFile\.html|allowedDirectory/)) - [R=404,L,NC] 
    

    上述规则将为除名为 allowedFile.html 的文件和名为 allowedDirectory 的文件夹之外的所有内容抛出 404。

    【讨论】:

      猜你喜欢
      • 2021-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-13
      • 2017-12-26
      • 2017-07-04
      • 1970-01-01
      相关资源
      最近更新 更多