【问题标题】:mod_rewrite rule: if URL contains a certain stringmod_rewrite 规则:如果 URL 包含某个字符串
【发布时间】:2011-01-22 17:13:42
【问题描述】:

我的客户一直在编辑网站中的导航结构,这导致了一些 mod_rewrite 问题。我怎么能制定这个规则:

RewriteRule ^studios/about-studios/artist-noticeboard noticeboard2.php?section=studios&subSection=studio-artists [L]

如果 url 包含 "noticeboard" 可以工作吗?像这样:

RewriteRule ^IF CONTAINS 'noticeboard' noticeboard2.php?section=studios&subSection=studio-artists [L]

欢迎指点!

【问题讨论】:

    标签: regex .htaccess mod-rewrite


    【解决方案1】:

    试试这个:

    RewriteCond %{REQUEST_URI} !/noticeboard2\.php$
    RewriteRule noticeboard noticeboard2.php?section=studios&subSection=studio-artists [L]
    

    此规则会将URL路径中包含“noticeboard”的任何请求重写为同一目录中的noticeboard2.php

    【讨论】:

    • 如果我不想重写 id url 包含公告板,我必须指定什么
    • @Sergey 用! 反转RewriteRule 模式。
    • 谢谢,我已经解决了相关问题。在这里:stackoverflow.com/questions/12258698/…
    • ...可能很明显,但我还要指出,这会重写任何包含“noticeboard”的请求,除非根据 RewriteCond 它完全等于 /noticeboard2.php。
    猜你喜欢
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 2014-03-22
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 2017-03-21
    • 2017-08-08
    相关资源
    最近更新 更多