我使用以下 javascript 类从查询字符串中提取变量:
getUrlVars : function() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
So 这有效: http://example.com/signinup.html?opt=login http://example.com/signinup.html?opt=login
I need http://www.example.com/login/ http://www.example.com/login/以同样的方式工作。使用mod_rewrite:
RewriteRule ^login/? signinup.html?opt=login [QSA]
允许加载页面、加载 javascript、加载 css,但我的 javascript 函数找不到opt
关键(即,它是undefined
)。如何得到opt
我的 JavaScript?
JavaScript 是客户端。 Mod_rewrite 是服务器端的。
因此 Javascript 将永远不会看到重写的 URL。就您的浏览器而言,您输入的 URL 就是完成的地址。
唯一真正的解决方案是更改您的 Javascript,以便它查看它所获得的 URL,而不是旧版本(或者可能解析这两种替代方案,因为旧 URL 仍然有效,并且人们可能仍然拥有旧书签)。
另一种可能的解决方案是转到服务器端代码(PHP?什么?),您可以在其中看到重写的 URL,并在那里插入一些可以在客户端解析的 JavaScript 代码。但这不是一个理想的解决方案。您最好选择选项 1 并更改 Javascript 以应对它实际要获取的 URL。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)