如果url具有一个模式,则URL重写到文件夹,如果url具有其他模式,则忽略该规则

时间:2016-11-10 10:26:50

标签: regex apache .htaccess mod-rewrite

我有项目的以下目录结构

example
  admin/
  cdn/
  client/
  .htaccess

当网址为

  • http://192.168.1.121/example/
  • http://192.168.1.121/example
  • http://192.168.1.121/example/category/productname
  • http://192.168.1.121/example/content/12依此类推,

它应该重写为client/文件夹。

但如果网址为http://192.168.1.121/example/cdn,则应忽略该规则。

任何人都可以帮助我。如何在.htaccess

中编写规则

由于

2 个答案:

答案 0 :(得分:1)

像这样的东西

RewriteRule ^/example/cdn . [L]如果以“/ example / cdn”开头并停在那里

,则不执行任何操作

RewriteRule ^/example /client$0 [L]如果以“/ example”

开头,则前置“/ client”

答案 1 :(得分:1)

您可以使用此/example/.htaccess

RewriteEngine On
RewriteBase /example/

RewriteRule ^(?!client/|cdn)(.*)$ client/$1 [L,NC]
当URI为(?!client/|cdn)/example/cdn

时,

/example/client是否定为忽略规则