javascript - 基于查询字符串的重定向

标签 javascript redirect query-string window.location

不想让包含 300 个条目的 .htaccess 膨胀,我可以使用什么 javascript 根据对这个单个文件的请求中的查询字符串重定向到 URL。例如,

https://www.mywebsite.com/redirect.jhtml?Type=Cool&LinkID=57

我唯一关心的部分是 57 然后将它重定向到任何地方: https://www.anothercoolwebsite/secretworld/

在以下情况下,取 34 并重定向:

https://www.mywebsite.com/redirect.jhtml?Type=Cool&LinkID=34 https://www.anoldwebsite.com/cool/file.html

谢谢!

最佳答案

这应该没问题。请记住,像 PHP 脚本这样的服务器端解决方案适用于更多客户端。既然你提到了 .htaccess,我想我应该让你知道 fallback resource command

无论如何,这是唯一的 JS 解决方案

function parseString(){//Parse query string
    var queryString=location.search.substring(1);//Remove ? mark

    var pair = queryString.split('&'); //Key value pairs

    var returnVal={};
    pair.forEach(function(item,i){
        var currPair = item.split('=');//Give name and value

        returnVal[currPair[0]]=currPair[1];
    });

    return returnVal;
}

var links=["index", "about"];//Sample array of links, make sure this matches up with your LinkID
location.href=links[parseString().LinkID]+".html"; //Redirect based on LinkID

关于javascript - 基于查询字符串的重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49204354/

相关文章:

javascript - 通过 PHP/jQuery 获取动态创建行的值

.htaccess - 使用 htaccess 将 https 重定向到 http 期望一个 url

ssl - 在 Tomcat 中使用虚拟主机时如何将 HTTP 流量重定向到 HTTPS

php - Yii 无法启动 gii

php - 如何提高网站标题搜索结果

java - UriBuilder 不正确地编码查询参数值?

javascript - 基于 Electron 的 XMLHttpRequest 和基于浏览器的带有查询字符串的 URL 之间的区别?

javascript - 使用基于路由器参数的 Vue http 获取数据

javascript - CSS 幻灯片过渡

javascript - 如何从同一文件夹将 js 文件导入到 chrome 扩展中的 background.js