RewriteRule ^(index.php/?)?rss/ - [L,F]
This is an optimized version of the officially suggested rule
RewriteRule ^(index.php/?)?rss/ - [L,R=403]
403 is not a [R]edirect technically. It should work per the docs of mod_rewrite for Apache 2.2+, but it's not fully clear from the docs that it's also supported in earlier versions whereas [F]
is the semantically correct way to [F]orbid access ever since. Supply an otherwise implied [L]
to support Apache < 2.2.
The reason the official rule doesn't work for you might be because of using an older Apache and corresponding mod_rewrite version. As a result, the rule containing the flag [R=403]
as suggested by Magento itself may be skipped under Apache 2.0.
If this is the root cause, then Magento should rework either their system requirements – as they're officially supporting Apache 2.x – or their RSS blocking RewriteRule.
'redirect|R [=code]' (force redirect)
Prefix Substitution with
http://thishost[:thisport]/ (which makes the new URL a URI) to force a
external redirection. If no code is given, a HTTP response of 302
(MOVED TEMPORARILY) will be returned. If you want to use other
response codes in the range 300-400, simply specify the appropriate
number or use one of the following symbolic names: temp (default),
permanent, seeother. Use this for rules to canonicalize the URL and
return it to the client - to translate /~'' into
/u/'', or to
always append a slash to /u/user, etc.
[...]
[...]
Any valid HTTP response status code may be specified, using the syntax
[R=305], with a 302 status code being used by default if none is
specified. The status code specified need not necessarily be a
redirect (3xx) status code. However, if a status code is outside the
redirect range (300-399) then the substitution string is dropped
entirely, and rewriting is stopped as if the L were used.
[...]