替换部分URL onclick和重定向

时间:2014-07-23 12:37:01

标签: javascript php jquery .htaccess

我试图在这里和谷歌寻找答案,但也许我没有使用正确的搜索条件...我只是找不到它。 希望有人能帮助我。

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 /'

4 个答案:

答案 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);
} 

正如你所看到的,我不是正则表达式的主人。所以我确信这里有更好的方法可以使用它们。