我是htaccess的新手。我正在使用Keystone.js,我开发了一个正在侦听端口3000的博客。就像这样:
https://localhost:3000
现在一切都很好。但我想要的是我的博客应该在这个网址上运行:
https://localhost/blog
我如何实现这种情况,我提供" https://localhost/blog "它应该像" https://localhost:3000 "一样工作。在这种情况下,网址将保持不变:https://localhost/blog
此外,我还希望当用户访问此网址时:" https://localhost:3000 ",它应该重定向到:" {{ 3}} "
如何实现这种情况?我想要的只是从URL隐藏一个端口。
我已经尝试了很多可以解决的问题,但它并不适用于我。 像这样:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^blog(.*) http://localhost:3000/$1 [P,L]
好的,现在关于代码的代码对于主页是完美的,例如:https://localhost/blog,因为我在htaccess中添加了一个规则。但问题是所有的链接,图像&包含的文件在我的博客中被破坏。
现在我使用了基本标签来解决这个问题。但它将我的链接转换为这种格式:
http://localhost:3000/contact
http://localhost:3000/help
http://localhost:3000/post
我在页面标题中将https://localhost/blog视为基本标记。 你可以看到3000端口再次出现在我不想显示的网址中。它应该是:
http://localhost/blog/contact
http://localhost/blog/help
http://localhost/blog/post
答案 0 :(得分:1)
这是在端口80上运行Node的最安全,最简单的方法:
登录服务器并发出以下命令:
$ sudo apt-get install libcap2-bin
$ sudo setcap cap_net_bind_service=+ep /usr/local/bin/node
注意:将上面的节点路径更改为键入which node
时显示的内容
现在,当您告诉Node在端口80上运行时,它不会抱怨。而且您不必处理Apache或Nginx,以root身份运行您的应用程序,或担心端口转发。
答案 1 :(得分:1)
我建议使用NGINX来解决这个问题。您可以查看这些链接:
https://allaboutghost.com/how-to-proxy-port-80-to-2368-for-ghost-with-nginx/