【问题标题】:How do I add multiple conditions to an .htaccess redirect properly?如何正确地将多个条件添加到 .htaccess 重定向?
【发布时间】:2019-09-04 19:27:55
【问题描述】:

我有一个新闻聚合网站,目前我正在尝试为一些顶级城市设置 Twitter 帐户。为了使这些机器人自动化,我正在使用 RSS 提要。为了生成每小时没有 100 条帖子的 RSS 提要,我必须创建另一个抓取更少新闻的服务器。它是一个 wordpress 网站,因此默认情况下,他们在每个 slug 末尾都有 rss 提要(例如:fakesite.com/feed 或 fakesite.com/usa/dallas/feed)。我创建了一个重定向,通过引用所有帖子所在的子目录,将人们从这个较小的服务器发送到较大的服务器。问题是提要 url 也被转发到我试图避免发推文的那个。有没有办法可以添加一个条件,如果 slug 以“/feed”结尾,则告诉服务器不要重定向?

到目前为止,我的 .htaccess 文件中有这段代码:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/us/
RewriteRule (.*) https://urlocal.news/$1 [R=301,L]

我所有的帖子都在 /us/ 子目录下,但提要也是。

RewriteEngine On

RewriteCond %{REQUEST_URI} ^/us/    
RewriteCond %{REQUEST_URI} !^/feed    
RewriteRule (.*) https://urlocal.news/$1 [R=301,L]

它什么也没做。 TBH 我不知道我应该使用什么语法。我正在安装 Bitnami wordpress 并且他们以一种令人困惑的方式设置它。我把这个放在我的htaccess.conf

【问题讨论】:

    标签: regex .htaccess


    【解决方案1】:

    你可以使用$结尾匹配。

    RewriteEngine On
    
    RewriteCond %{REQUEST_URI} ^/us/
    RewriteCond %{REQUEST_URI} !/feed$
    RewriteRule (.*) https://urlocal.news/$1 [R=301,L]
    

    【讨论】:

      猜你喜欢
      • 2016-11-29
      • 2011-07-09
      • 1970-01-01
      • 2014-04-04
      • 2016-09-06
      • 2013-01-09
      • 2021-11-14
      • 1970-01-01
      • 2010-12-15
      相关资源
      最近更新 更多