如何将 Express/node API 服务到子域?

How to serve Express/node API to subdomain?

我有一个微型 Express 应用程序在我的 Web 服务器上的端口 35000 上提供服务,可以从我的网站访问它。com/api 使用以下 .htaccess 代码(完美运行,只需将 "hello world" 发送到浏览器)。

RewriteEngine On
RewriteRule ^api/(.*) http://127.0.0.1:35000/ [P]

我在 api.mywebsite.com 设置了一个子域,链接到我服务器上的一个单独目录,如果我将 Web 文件放在这里,我可以在 URL 看到它们,所以工作正常。我想将我的 API 移动到 api.mywebsite.com,所以我在子域的目录中创建了以下 .htaccess 文件。

RewriteEngine On
RewriteRule ^(.*) http://127.0.0.1:35000/ [P]

但是从 Express 导航到 api.mywebsite.com returns 时出现 "Not found" 错误,日志为 404 index.php。为什么需要 index.php 文件?我很高兴至少得到错误,因为这意味着 Express 正在通过子域进行通信,但它没有给我 "hello world" 消息。

我已经从其他问题中查看了 Express vhost,但我很难理解它是否适​​用于此处,或者我是否缺少简单的 .htaccess 规则。任何帮助都会非常感谢。

只是为了跟进,这解决了我的问题:

我的子域目录中的 .htaccess 文件现在是:

DirectoryIndex disabled
RewriteEngine On
RewriteRule ^(.*)$ http://127.0.0.1:35000/ [P,L]
RewriteRule ^$ http://127.0.0.1:35000/ [P,L]