使用htaccess重定向到Node.js应用

fab*_*fas 5 apache .htaccess mod-rewrite node.js

我正在尝试永久运行在服务器上的nodejs中编写的小应用程序。当我这样启动我的应用程序时:

forever app.js
Run Code Online (Sandbox Code Playgroud)

在我的文件夹中/home/me/apps/myapp/,该应用程序正在侦听端口61000

我的.htaccess文件的内容应该是什么mydomain.me/myapp/

当前.htaccess内容(无效):

forever app.js
Run Code Online (Sandbox Code Playgroud)

mic*_*lem 6

您应该使用 Apache mod_proxy 而不是 mod_rewrite 在 Apache 中运行 Node.js 应用程序:

<VirtualHost :80>
    ServerName example.com

    ProxyRequests off

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    <Location /myapp>
        ProxyPass http://localhost:61000/
        ProxyPassReverse http://localhost:61000/
    </Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

如果你不能为你的 Node 应用添加一个虚拟主机,你可以尝试使用 htaccess 和类似的东西:

RewriteEngine On

RewriteRule ^/myapp$ http://127.0.0.1:61000/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/myapp/(.*)$ http://127.0.0.1:61000/$1 [P,L]
Run Code Online (Sandbox Code Playgroud)