使用Javascript或PHP在URL前面添加字符串(子域)
Adding a string (subdomain) to the front of URL with Javascript or PHP
我一直在搜索,但找不到太多关于这方面的信息。
基本上,我正在建立一个(基于PHP)的网站,并为我自己的语言切换实现我需要有按钮,我可以点击,它会重定向到所选语言完全相同的页面。例如:http://example.com/page1?param1到http://es.example.com/page1?param1.
是否有办法做到这一点与javascript或php?
谢谢!
使用PHP,很容易找到当前URL:
$_SERVER['REQUEST_URI']
-> /page1?param1
$_SERVER['HTTP_HOST']
-> example.com
您可以很容易地使用这些信息来添加链接,按钮或菜单到其他语言版本
你可以使用:
window.location.href
所以你的按钮可以调用一个函数并传递一个值给那个函数。然后使用正则表达式,您可以在适当的位置插入语言变量。
<button id='esLanguage' onclick="changeLanguage('es')"></button>
function changeLanguage(language) {
var url = window.location.href
var newUrl = url.replace(/^http:'/'//, 'http://' + language + '.')
windows.location = newUrl;
}
这些都是假设您为每种语言设置了子域。
使用JavaScript,可以这样做:
window.location.host = `subdomain.${window.location.host}`
注意,这会重载页面
当前window.location
最简单的解决方案:
function withSubdomain(path = window.location.pathname, subdomain = 'blog') {
const { protocol, host } = window.location;
return `${protocol}//${subdomain}.${host}${path}`;
}
试试这个。你应该包括你的子域名路径在href,然后点击链接,它会自动重定向到页面。
<a href="http://es.example.com/page1?param1">param1</a>
<a href="http://es.example.com/page1?param2">param2</a>
<a href="http://es.example.com/page1?param3">param3</a>
<a href="http://es.example.com/page1?param4">param4</a>
<a href="http://es.example.com/page1?param5">param5</a>
.
.
.
..
注意:*每个链接都是新的HTML页面
相关文章:
- 将字符串添加到页面url
- 如何将静态字符串添加到受信任的 ng-src
- 在这种情况下,如何将字符串添加到函数中 php
- 将字符串添加到短语 Javascript
- 将字符串添加到不区分大小写的 RegExp 中替换的事物开始
- 如何向变量字符串添加更多值
- 将查询字符串添加到当前URL中嵌入的查询的锚链接
- 使用JQuery将字符串添加到内联CSS中
- 在Javascript中作为字符串添加的整数
- JavaScript将字符串添加到数字而不是值
- 如何在javascript或jquery中为字符串添加一些数字
- 将字符串添加到吞咽流的开头
- 是否可以在正则表达式中向现有字符串添加新字符串
- 将字符串添加到 JavaScript 数组
- 使用 Javascript 通过表单将预定义的字符串添加到用户输入中
- EmberJs 将函数的返回字符串添加为类名
- 如何向字符串添加连字符(将其格式化为 16 位序列号)
- 如何仅在 Jquery/Javascript 中尚不存在时才将字符串添加到数组中
- 在 cordova 提示符下将子字符串添加到 results.input1
- 向 html 字符串添加粗体标记