Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击并重新更正URL的一部分_Javascript_Php_Jquery_.htaccess - Fatal编程技术网

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/”,我希望这更清楚?谢谢这与我所理解的意义大不相同。我建议你在主要问题上加上这个评论,因为它不够清楚!