重定向特定文件夹上的特定子域

redirect specific sub domain on specific folder

我有一个子域名api.example.com

我的代码在 /var/www/html/ 文件夹中。

我的所有子域都重定向到 /var/www/html 文件夹。

但我希望 api.example.com 重定向到 /var/www/html/api 文件夹。怎么可能?

我做了一些 RND,但没有找到与此相关的任何答案。

现在我正在使用 DNS 进行重定向。像这样。

*.example.com. 14400 IN A 52.46.171.238.

可以使用 .htaccess 或者我必须用 DNS records 做些什么?

如果您可以控制 Apache 服务器配置,那么在 VirtualHost 中使用适当的 DocumentRoot

更容易做到这一点
<VirtualHost *:80>
    ServerName api.example.com
    DocumentRoot /var/www/html/api
    ,,,
    ...
</VirtualHost>

但是,如果您无法控制 Apache 服务器配置,请使用 /var/www/html/.htaccess 中的重写规则进行配置:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^api\. [NC]
RewriteRule !^api/ api%{REQUEST_URI} [L,NC]