Apache位置匹配通配符URL

时间:2012-04-17 08:21:34

标签: regex linux apache vhosts locationmatch

我的VHOST目前看起来像:

<VirtualHost *:80>
     DocumentRoot /data/sites/example_deploy
     ServerName deploy.example.co.uk
     <Directory "/data/sites/example_deploy">
        Options +SymLinksIfOwnerMatch
        AllowOverride All
        Order allow,deny
        Allow from all

        AuthUserFile /data/confs/svn/htpasswd
        AuthName "Example deployment example testing"
        AuthType Basic
        Require valid-user
    </Directory>
</VirtualHost>

我们有一个URL / api,它采用不同的参数。例如:

  • / API /测试-僵尸响应/ 1234842823
  • / API / SQL部署响应/级/ 172bUd7s

我们想要实现的是/ api / *不需要有效用户,并且在请求发出之前满足HTaccess。 URL可以由两个以上的参数组成。

我已经研究了这个主题并且已经确定我需要使用LocationMatch并传递Satisfy参数,但是我不确定应该如何形成正则表达式。

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。诀窍是使用LocationMatch。看下面的代码:

$<LocationMatch "/api/*"> 
    order allow,deny 
    allow from all 
    Satisfy any 
</LocationMatch>