【问题标题】:How to redirect to the base URL if the given URL ends with a slash?如果给定的 URL 以斜杠结尾,如何重定向到基本 URL?
【发布时间】:2017-05-24 15:30:44
【问题描述】:

我有这个链接http://localhost:3007/sellers-toolkit/,但正确的页面只是没有尾部斜杠的页面。所以我想重定向到http://localhost:3007/sellers-toolkit

我尝试用 JavaScript 编写这部分,但它只是使页面重新加载,没有任何反应。实现这种行为的正确方法是什么?

var url = "http://localhost:3007/sellers-toolkit/";
if (url) {
  url = "http://localhost:3007/sellers-toolkit";
  window.location.href = url;
}

【问题讨论】:

  • "它只是让页面重新加载"。你还期待发生什么?如果有人在地址栏中输入带有 / 的地址,则无法使用 JS 解决此问题,因为 JS 在页面中运行(除非您使用的是 node.JS ??),如果该 URL 没有加载页面,然后没有页面可以执行JS。 QED。您需要在服务器配置中或在可以响应该 URL 的某些代码中实现某种重写规则。
  • 我实际上在使用节点,是的,你能指导我在哪里检查我是否在使用节点吗?
  • 你在使用 Express 吗?
  • “我实际上正在使用节点,是的,你能指导我检查我是否在使用节点吗?”。 ???如果您知道您正在使用节点,为什么您需要检查您是否正在使用节点?你已经知道了。
  • 我在我的节点服务器端修复了它。 : if (req.url == '/sellers-toolkit' || req.url == '/sellers-toolkit/' ) { category = '私下销售'; } 。简单简单:D

标签: javascript node.js url-redirection


【解决方案1】:

我对这个问题的解决方案是我试图在 javascript 端执行此操作,但我发现我必须在我的节点服务器端执行此操作。

我使用了这个代码:

if (req.url == '/sellers-toolkit' || req.url == '/sellers-toolkit/' ) {
        category = 'Selling Privately';
    }

【讨论】:

    【解决方案2】:

    尝试如下:

    var url = "http://localhost:3007/sellers-toolkit/";
    var spe_char_last =url.substr(url.length - 1);
    if(spe_char_last == '/')
    {
    url = url.slice(0, -1);
    if (url) {
      url = "http://localhost:3007/sellers-toolkit";
      window.location.href = url;
    }
    }
    

    【讨论】:

    • 希望我理解正确。请告诉我cmets?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    相关资源
    最近更新 更多