Irt*_*hid 8 apache .htaccess mod-rewrite keystonejs
我是htaccess的新手.我正在使用Keystone.js,我使用它开发了一个正在侦听端口3000的博客.像这样:
https://localhost:3000
Run Code Online (Sandbox Code Playgroud)
现在一切都很好.但我想要的是我的博客应该在这个网址上运行:
https://localhost/blog
Run Code Online (Sandbox Code Playgroud)
我如何实现这种情况,我提供" https:// localhost/blog ",它应该像" https:// localhost:3000 "一样工作.在这种情况下,URL将保持不变:https:// localhost/blog
另外,我还希望当用户访问此网址时:" https:// localhost:3000 ",它应该重定向到:" https:// localhost/blog ".
我该如何实现这种情况?我想要的只是从URL隐藏端口.
我已经尝试了很多东西可以解决,但它不适合我.像这样的东西:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^blog(.*) http://localhost:3000/$1 [P,L]
Run Code Online (Sandbox Code Playgroud)
好了,现在这个代码对于主页面是完美的,即:https:// localhost/blog,因为我在htaccess中为它添加了一个规则.但问题是所有链接,图像和包含的文件都在我的博客中被破坏了.
现在我使用基本标记来解决这个问题.但它将我的链接转换为这种格式:
http://localhost:3000/contact
http://localhost:3000/help
http://localhost:3000/post
Run Code Online (Sandbox Code Playgroud)
我认为http:// localhost:3000 /是我页面头中的基本标记.你可以看到3000端口再次出现在我不想显示的网址中.它应该是:
http://localhost/blog/contact
http://localhost/blog/help
http://localhost/blog/post
Run Code Online (Sandbox Code Playgroud)
这是在端口 80 上运行 Node 的最安全、最简单的方法:
登录到服务器并发出以下命令:
$ sudo apt-get install libcap2-bin
$ sudo setcap cap_net_bind_service=+ep /usr/local/bin/node
Run Code Online (Sandbox Code Playgroud)
注意:将上面的 Node 路径更改为键入时显示的任何内容which node
现在,当您告诉 Node 在端口 80 上运行时,它不会抱怨。而且您无需处理 Apache 或 Nginx、以 root 身份运行您的应用程序或担心端口转发。
| 归档时间: |
|
| 查看次数: |
474 次 |
| 最近记录: |