如何在 Apache 中将子目录请求动态映射到 DocumentRoot

Posted

技术标签:

【中文标题】如何在 Apache 中将子目录请求动态映射到 DocumentRoot【英文标题】:How to Dynamically Map Subdirectory Requests to DocumentRoot in Apache 【发布时间】:2016-05-03 12:17:37 【问题描述】:

我想通过以下方式将请求动态映射到不同的 api 版本。

http://example.com/v1.1 应该映射到 /var/www/vhosts/api/versions/v1.1/public/ http://example.com/v1.2 应该映射到 /var/www/vhosts/api/versions/v1.2/public/ http://example.com/v1.3 应该映射到 /var/www/vhosts/api/versions/v1.3/public/ ... http://example.com/v1.n 应该映射到 /var/www/vhosts/api/versions/v1.n/public/

每次发布​​新的 api 版本时,如何在不修改 example.com.conf 文件的情况下在 Apache 中完成此操作?

起初我认为 VirtualDirectoryRoot 可能很有前途,但它似乎只对域段而不是 URI 段进行操作。

注意:我使用的是 Apache 2.4.7

【问题讨论】:

【参考方案1】:
AliasMatch /(v\d+\.\d+)/ /var/www/vhosts/api/versions/$1/
<Directory  /var/www/vhosts/api/versions/*>
  Require all granted
</Directory>

【讨论】:

我对这种方法的变体没有任何运气。这可能是因为其他一些配置。感谢您的尝试。

以上是关于如何在 Apache 中将子目录请求动态映射到 DocumentRoot的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Spring MVC 中将请求映射到 HTML 文件?

如何在Word中将http请求响应映射到我定义的对象

Apache - 如何将前缀映射到不同的目录

在颤振中将请求复杂的json发布到api

如何在 Spring Boot 中将嵌套的 JSON 对象映射为 SQL 表行

Spring Boot 嵌套动态 json 请求映射到 pojo