我是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)