Javascript 单击并重新更正URL的一部分
我试图在这里和谷歌上寻找答案,但可能我没有使用正确的搜索词。。。我就是找不到。 希望有人能帮我 在Javascript 单击并重新更正URL的一部分,javascript,php,jquery,.htaccess,Javascript,Php,Jquery,.htaccess,我试图在这里和谷歌上寻找答案,但可能我没有使用正确的搜索词。。。我就是找不到。 希望有人能帮我 在双语商店中,当单击英文标志按钮时,我希望一个人被重定向到不同域/url上的相同产品 www.mydomain**.nl/a1**/product1.html 这是一个起点。单击英文标志应获取域和类别并更改此内容,然后转到新创建的url: www.mydomain**.com/a2**/product1.html 然后 www.mydomain**.nl/b1**/product1.html,单击“英
双语
商店中,当单击英文标志
按钮时,我希望一个人被重定向到不同域/url
上的相同产品
www.mydomain**.nl/a1**/product1.html
这是一个起点。单击英文标志应获取域和类别并更改此内容,然后转到新创建的url:
www.mydomain**.com/a2**/product1.html
然后
www.mydomain**.nl/b1**/product1.html
,单击“英语标志”按钮后变为:
www.mydomain**.com/b2**/product1.html
等等
大约有30个不同的页面需要像这样重新编辑,所有页面都有相同的“英语标志”按钮
如果url的一部分是“.nl/schoenen/”,则更改并转到“.com/shoes/”
如果url的一部分是“.nl/jassen/”,则更改并转到“.com/jackers/”只需使用IF语句,如果单击按钮,url将更改!
每个url指向不同语言的页面。如果我答对了您当前所在的Url位于window.location对象中。如果要重定向,请检索它(例如window.location.href),使用字符串操作更改域并重定向窗口
抱歉,如果我没有正确理解您的问题。您可以创建一个“翻译”当前url的方法:
function translateUrl(string transArticleName) {
var newTerm = ".com/"+transArticleName+"/";
return window.location.href.replace("/.nl/[\w]{1,}//", newTerm);
}
或者您阅读文章名称并将其翻译成英语:
function translateUrl(string transArticleName) {
var oldTerm = window.location.href.match("/.nl/[\w]{1,}//")[0];
var aName = oldTerm.match(/\/[\w]{1,}\//)[0].match(/[^\/]{1,}/)[0]
var transArticleName = //translate aName server side
var newTerm = ".com/"+transArticleName+"/";
return window.location.href.replace(oldTerm, newTerm);
}
正如你所看到的,我不是正则表达式的大师,所以我相信这里有更好的方法来使用它们。TL;DR-使用一些javascript在单击时操纵url,按照您希望的方式重新组合url,重新加载新url 我曾经做过一次双语商店,在路径中插入了一个“es”或“en”来表示西班牙语或英语,基本上是一个URL参数。你的目标有点复杂(我想这是必须的),但这可能会让你开始。你可以看到(不是我的设计——别怪我。大部分都是在所有者的要求下离线的(一些合法的东西),但是你应该能够浏览一些页面并看到语言切换生效。) 单击语言切换会触发一些简单的Javascript,如下所示:
function switchLanguage(lang) {
u = location.href.split('/');
u[3] = lang;
location.href = u.join('/');
}
然后在语言切换链接中添加一个onclick
,直接指向onclick=“switchLanguage('en')”
或onclick=“switchLanguage('es')”
,或任何您的URL注入。同样,这是针对我的示例的,其中URL参数将跟随第三个正斜杠(u[3]=lang
),但这应该可以让您开始分割URL以进行操作和重新组装
这里有一些很好的例子
当然,我的站点的本地化版本需要驻留在这些url路径下(在我的例子中,我更改了一些PHP全局变量,以考虑url中的不同语言代码,因此隐藏的内容非常少)但这是一种方法,可以让您开始在单击时拆分/更改/替换URL。如果URL的一部分是“.nl/schoenen/”,则更改并转到“.com/shoes/”,如果URL的一部分是“.nl/jassen/”,则更改并转到“.com/jackers/”,我希望这更清楚?谢谢这与我所理解的意义大不相同。我建议你在主要问题上加上这个评论,因为它不够清楚!