我正在尝试永久运行在服务器上的nodejs中编写的小应用程序。当我这样启动我的应用程序时:
forever app.js
在我的文件夹中/home/me/apps/myapp/,该应用程序正在侦听端口61000
/home/me/apps/myapp/
我的.htaccess文件的内容应该是什么mydomain.me/myapp/?
mydomain.me/myapp/
当前.htaccess内容(无效):
.htaccess
RewriteEngine On # Redirect a whole subdirectory: RewriteRule ^myapp/(.*) http://localhost:61000/$1 [P]
您应该使用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>
如果您无法为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]