我试图在这里和谷歌寻找答案,但也许我没有使用正确的搜索条件...我只是找不到它。 希望有人能帮助我。
在bi-lingual
商店,我希望在点击domain/url
按钮时,将某人重定向到其他english flag
上的同一商品。
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个不同的页面要像这样被删除,所有页面都有相同的英文标记'按钮。
如果网址的一部分是' .nl / schoenen /'然后改变并转到' .com / shoes /'
如果网址的一部分是' .nl / jassen /'然后改变并转到' .com / jackets /'
答案 0 :(得分:1)
TL; DR - 使用一些javascript来操作网址onclick,按照您希望的方式重新组合网址,重新加载新网址。
我做了一次双语商店,并在路径中插入了'es'或'en'来表示西班牙语或英语,主要是作为URL参数。你的目标有点复杂(我认为必须如此),但这可能会让你开始。你可以看到shop here (不是我的设计 - 不要责怪我。根据业主的要求(一些合法的东西)大部分是离线的,但你应该能够导航一些页面并看到语言切换有效。)
单击语言切换会触发一些简单的Javascript,如下所示:
function switchLanguage(lang) {
u = location.href.split('/');
u[3] = lang;
location.href = u.join('/');
}
然后将onclick
添加到语言切换链接以指向onclick="switchLanguage('en')"
或onclick="switchLanguage('es')"
,或者无论您的网址注入是什么。同样,这是特定于我的示例,其中URL参数将遵循第三个正斜杠(u[3] = lang
),但这应该让您开始切割您的URL以进行操作和重组。
有一些很好的例子here。
当然,我的网站的本地化版本需要驻留在这些url路径下(在我的情况下,我更改了一些PHP全局变量以考虑URL中的不同语言代码,因此引擎盖下的内容是真的很小但是这是一种让你开始分析/改变/替换你的URL的方法。
答案 1 :(得分:0)
只需使用IF语句,如果单击该按钮,则URL将被更改! 每个网址都会以不同语言显示一个页面。如果我找对你了
答案 2 :(得分:0)
您正在使用的Url位于window.location对象中。如果要重定向,检索它(例如window.location.href),使用字符串操作更改域并重定向窗口?
很抱歉,如果我没有正确理解你的问题。
答案 3 :(得分:0)
你可以创建一个"翻译"当前网址:
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);
}
正如你所看到的,我不是正则表达式的主人。所以我确信这里有更好的方法可以使用它们。