使用redirectmatch将不匹配的模式重定向到另一个页面

时间:2014-04-02 11:59:59

标签: regex .htaccess redirect

如果网址是这样的

   http://samplexxxx.com/some keywords/  it has to redirect to                                 

   http://samplexxxx.com/ap/search.php?searchterm=$1

因为我写得像​​这样

  RedirectMatch 301 ^/([^/]*)/ http://samplexxxx .com/ap/search.php?searchterm=$1  

     it was working fine

但这里匹配的关键字不应该是

                       http://samplexxxx.com/ap/

所以这里重定向应该不是ap关键字,那么我怎么需要改变正则表达式匹配模式。

1 个答案:

答案 0 :(得分:2)

您可以在正则表达式中使用否定前瞻:

RedirectMatch 301 ^/((?!ap/)[^/]+)/ http://samplexxxx .com/ap/search.php?searchterm=$1