gpt4 book ai didi

javascript - 当我有带有 www 的 时,没有 www 的链接无法正常工作

转载 作者:太空宇宙 更新时间:2023-11-03 18:29:31 26 4
gpt4 key购买 nike

如果我输入 <base href="http://www.example.com"/>然后,如果我在浏览器中访问 WWW.example.com,一切都很好,但是当我访问 example.com 时,Cascade 样式表文件和 Java 脚本文件的某些内容被搞砸了(例如 Bootstrap 中的图标不显示)直到我单击我网站上的其他页面,使其转换为 WWW.example.com/page,从那里一切正常...我尝试过 <base href="http://example.com"/>并转到 WWW.example.com 并且其他方式相同。我怎样才能解决这个问题?

最佳答案

您可以将 base 标记设置为用户输入的相应子域。或者您可以使用简单的 mod_rewrite 规则将所有请求重定向到 www 子域。

第一种方法,我相信你可以用 javascript 做到这一点,但不是 100% 确定。尝试将它放在代码的开头,默认使用带有 www 的 base 标记。

if(document.URL.indexOf('://www.')===-1){
var base = document.getElementsByTagName('base')[0];
base.href = base.href.replace('://www.','://');
}

另一种方法是使用mod_rewrite,这很容易通过apache 中的.htaccess 文件来完成。

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

我个人认为第二种方式会是更好的选择。首先,因为我不完全确定 javascript 方案是否会起作用,即使它起作用,javascript 也不会在所有浏览器上运行,尤其是在机器人上。所以我建议您使用 .htaccess。祝你好运!

关于javascript - 当我有带有 www 的 <base href> 时,没有 www 的链接无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20148322/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com