在Apache CentOS6上运行的节点JS应用程序 - htaccess

时间:2016-10-27 18:33:39

标签: javascript node.js wordpress apache .htaccess

我们已经进行了搜索和搜索,但我们的生活中无法弄清楚如何编辑我们的.htaccess文件以允许我们的node.js应用程序运行。

  • 我们的根域运行wordpress网站。我们在Node中构建了一个自定义API,以便部署在www.website.com/api上。
  • 我们在centOS6上成功安装了node。我们还可以通过导航到/api文件夹并运行nohup node my_app.js &在终端中成功运行节点服务器。日志确认服务器正在端口51900上运行。

这是问题所在。我们知道节点API正在运行,我们无法弄清楚如何查看它。我们非常确定我们必须更改.htaccess文件以重定向/api/目录。这是我们.htaccess文件的复制/粘贴以及我们目前所拥有的内容。我们的重定向似乎不起作用。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^/api$ http://127.0.0.1:51900/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/api/(.*)$ http://127.0.0.1:51900/$1 [P,L]
RewriteRule . /index.php [L]

</IfModule>

# END WordPress

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您需要从wordpress中排除您的API网址。同样在.htaccess中,您不会在重写文件中添加/,例如^/api。目录(htaccess)上下文中没有前置斜杠。它应该是^api。这也是你的规则不匹配的原因。试试这个,看看它是否有帮助。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^api/(.*)?$ http://127.0.0.1:51900/$1 [P,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>