- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
在我的 Codeigniter 应用程序中,我使用 $_SERVER['HTTP_ACCEPT_LANGUAGE']
来确定用户浏览器语言以基于此设置应用程序语言,如下所示:
public function __construct()
{
parent::__construct();
/* set session language if not set. "hu" if browser language "hu", else "en" */
if(!($this->session->userdata("lang")))
{
$browserlang = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
if ($browserlang == "hu")
{
$this->config->set_item("language", "hu");
$this->session->set_userdata("lang", "hu");
$this->lang->load("bh_hu", "hungarian");
}
else
{
$this->config->set_item("language", "en");
$this->session->set_userdata("lang", "en");
$this->lang->load("bh_en", "english");
}
}
else
{
switch ($this->session->userdata("lang"))
{
case "hu": $this->lang->load("bh_hu", "hungarian"); break;
case "en": $this->lang->load("bh_en", "english"); break;
}
}
....
}
一切正常,但由于 google 爬虫没有发送任何 HTTP_ACCEPT_LANGUAGE
,它在抓取我的所有页面时返回一个 php 错误 Undefined index: HTTP_ACCEPT_LANGUAGE
。
这真的很糟糕,因为 php 错误甚至填满了我的整个 google 搜索片段。
有没有办法让 google bot 忽略 HTTP_ACCEPT_LANGUAGE
操作?
提前致谢!
最佳答案
$browser_lang = !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? strtok(strip_tags($_SERVER['HTTP_ACCEPT_LANGUAGE']), ',') : '';
$browser_lang = substr($browser_lang, 0,2);
// Now check if you support this language and set it
if(array_key_exists($browser_lang, $this->languages /* define this array to compare */))
return $browser_lang;
else{
// return default lang
}
关于php - HTTP_ACCEPT_LANGUAGE 出现 Google 抓取错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18598873/
我遇到了一个解析 HTTP_ACCEPT_LANGUAGE: http://www.thefutureoftheweb.com/blog/use-accept-language-header 的脚本
由于脚本从访问者那里获得了 $_SERVER['HTTP_ACCEPT_LANGUAGE'],所以它可以是任何东西。那么我该如何验证呢?什么是可以接受的? 要获取字符串中的第一种语言,我使用: sub
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: HTTP_ACCEPT_LANGUAGE 我尝试编写一个语言选项工具。因此我使用 $default_lang
我有一个函数可以根据 $_SERVER['HTTP_ACCEPT_LANGUAGE'] 的设置将用户重定向到不同的网页。 但是,我找不到用 Firefox 测试这段代码的方法。 Firefox 3.6
我做了 $_SERVER['HTTP_ACCEPT_LANGUAGE']在我的网站上,有两个 langs PL 和 EN。 我真的没想到 Google 会以这种方式将我的网站(即 TITLE 和 DE
在我的 Codeigniter 应用程序中,我使用 $_SERVER['HTTP_ACCEPT_LANGUAGE'] 来确定用户浏览器语言以基于此设置应用程序语言,如下所示: public funct
我创建了一个 PHP 脚本来检查 HTTP_ACCEPT_LANGUAGE并从第一个两个字符开始使用适当的语言加载网站: $http_lang = substr($_SERVER[
我正在学习 Python,我正在尝试使用 BeautifulSoup 解析用 PHP 制作的网页。我的问题是我的脚本显示此错误: A PHP Error was encountered Severi
我最近在我的 ApplicationController 中的 before_action 中添加了一些新代码: class ApplicationController < ActionControl
当我使用 Firefox 测试这段代码时,我得到 en-us,en;q=0.7,ja;q=0.3, 当我用IE测试代码块时,我得到了zh-cn。 $_SERVER['HTTP_ACCEPT_LANG
这个问题已经有答案了: Detect browser language in Rails (5 个回答) 已关闭 4 年前。 感谢大家的帮助。 我在做什么:我正在设计一个必须提供多种语言版本的公司网站
我正在尝试不使用服务器代码来访问用户的语言首选项。 我正在寻找一些像这样的 JavaScript: var language_array = jQuery.languagePreferences();
我正在 Linux 的本地 Apache 2 Web 服务器中编写一些网页,我想使用 PHP 来自动识别浏览器语言。 在网页中,我正在尝试 console.log()使用 JavaScript 关于客
我是一名优秀的程序员,十分优秀!