我用 php 和 mysql 编写了一个多语言网络。现在我遇到了问题(主要是机器人、seo 和搜索引擎),因为语言选择器是基于cookie的。
它现在是如何工作的: user => index.php :
function cookies() {
if (!isset($_COOKIE["lang"])){
setcookie('lang','ukr', time()+(60*60*24*31));
header('Location: index.php');
}};
并将所选语言输出到需要使用该功能的每个地方:
function catSet($source, $link, $item){
$item .= '_'. $_COOKIE['lang'];
global $connection;
$link = mysqli_real_escape_string($connection, $link);
$result = mysqli_query($connection, "SELECT * FROM $source WHERE link_item = '". $link ."'");
if (!$result) { die("DB Query failed: " . mysql_error()); }
while ($row = mysqli_fetch_array ($result)) {
echo $row[$item]; }}
我现在想要的是必须根据机器人和搜索引擎可读的用户选择$item .= '_'. $_COOKIE['lang'];
替换为常量,所以它必须不是cookie。
我不想使用session,因为这样用户每次会话到期后都必须重新选择语言。
AFAIK 无法检测浏览器语言,将其设置为默认值。
我看到了一种使用 [GET] 变量的方法,并且每次都将其传递给其他页面,但是如果用户下次回来,如何存储此 [GET] 数据(与会话相同的问题)。
我将不胜感激任何想法和解决方案:)