404 的 htaccess 规则适用于所有具有“提要”字的网址,除非有 2 个网址

问题描述

任何人都可以帮助我为 404 页面的 htaccess 规则添加条件。基本上在htaccess中,我为所有具有“Feed”字的网址设置了下面提到的404规则,除了下面提到的2个网址。这是 wordpress 站点RSS 提要 URL 的末尾是提要词。我现在已禁用 Feed,但无法从主页的站点标题删除这 2 个网址。

我使用的 htaccess 代码是:

RewriteCond %{THE_REQUEST} Feed [NC]
RewriteRule ^ - [L,R=404]

代码工作正常,但我需要在规则中为下面提到的网址添加例外,即

  • http://www.域名.co.in/Feed
  • http://www.domain name.co.in/comments/Feed 设置404规则后,这两个url都可以正常打开。

解决方法

您可以在站点根目录 .htaccess 中使用此规则:

RewriteEngine On

RewriteCond %{THE_REQUEST} !\s/(comments/)?feed/?[\s?] [NC]
RewriteRule ^.+feed - [L,R=404,NC]

这里:

    如果 URI 是 !\s/+(comments/)?feed[\s?]/comments/feed
  • /feed 是匹配失败的否定条件。尾部斜杠是可选的。
  • .*feed:将匹配 URI 中的任何位置的 feed