如何在 apache2.4 中使用 if 指令来拒绝除某些路由之外的所有路由

如何在 apache2.4 中使用 if 指令来拒绝除某些路由之外的所有路由

我正在为 API 休息进行配置,我想拒绝除 API 使用之外的所有路由。

我正在尝试允许所有与 /rest 或 /rest/* 匹配的 query_string。拒绝其余路线。

<If "%{QUERY_STRING} =~ /rest/">
  Require all granted
</If>
<Else>
  Require all denied
</Else>

我只是被所有路线拒绝了。

答案1

您可以拒绝主目录中的所有内容,并允许其余位置的所有内容。

像这样:

 <Directory /path/to/your/docroot>
   Require all denied
   ...
 </Directory>
 ...
 <LocationMatch "^/rest">
   Require all granted
 </LocationMatch>

相关内容