如何为Yahoo Pipes添加一个mod重写exception?

我使用Feedburner并让我的WordPress供稿redirect。 我想为Yahoo Pipes 2.0用户代理添加一个exception,但用户代理string包含空格。 当我把报价周围,我得到一个Apacheconfigurationtesting失败。

这是规则。

# BEGIN Feedburner <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /(feed|wp-atom|wp-feed|wp-rss|wp-rdf|wp-commentsrss)(.+)\ HTTP/ [NC,OR] RewriteCond %{QUERY_STRING} ^feed [NC] RewriteCond %{HTTP_USER_AGENT} !^(FeedBurner|FeedValidator) [NC] RewriteCond %{HTTP_USER_AGENT} !^"Yahoo Pipes 2.0" [NC] RewriteRule .* http://feeds.feedburner.com/xxxxxxx [R=307,L] </IfModule> # END Feedburner 

这里是我尝试重新加载apache时得到的错误。 另外规则是在虚拟主机,因为我使用WordPress多站点,如果我把它放在.htaccess所有我的网站饲料将被redirect到这个网站Feedburner。

 Syntax error on line 46 of /etc/apache2/sites-enabled/xxxxxxx: RewriteCond: bad flag delimiters Action 'configtest' failed. The Apache error log may have more information. failed! 

我知道了,我在这里留下了答案。

HTTP_USER_AGENT条件检查任何单词的匹配,所以我只需要添加Yahoo而不是“Yahoo Pipes 2.0”。

正确的规则是:

 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /(feed|wp-atom|wp-feed|wp-rss|wp-rdf|wp-commentsrss)(.+)\ HTTP/ [NC,OR] RewriteCond %{QUERY_STRING} ^feed [NC] RewriteCond %{HTTP_USER_AGENT} !^(FeedBurner|FeedValidator|Yahoo) [NC] RewriteRule .* http://feeds.feedburner.com/xxxxxxx [R=307,L] </IfModule>