我创建了一个多语言酒店网站。URL如下所示:
www.blahbrah.com/apartments.php?lang=en-
我现在想要的是一种不同的语言,比如德语,有以下URL
www.blahbrah.com/somethingElseHere.php?lang=去
我想,为了帮助我的SEO网站。
我想我必须使用URL别名,但我不知道如何开始。
有什么想法吗?
您必须编写这样的代码:
session_start();
if (!isset($_SESSION['lang'])){
$_SESSION['lang'] = "de";
header("location:index.php?lang=de");
}
if (isset ($_GET["lang"]) && ($_GET["lang"]=="de" || $_GET["lang"]=="en"))
{
$_SESSION["lang"]=$_GET["lang"];
}
function ln () {
if ($_SESSION["lang"]=="de"){return false;};
if ($_SESSION["lang"]=="en"){return true;};
}
function lang(){
return $_SESSION["lang"];
}
function mk_link(){
$return='';
$except=func_get_args();
foreach ($_GET as $key=>$value) if (!in_array($key,$except) && $value!='') $return.='&'.$key.'='.$value;
return $return;
}
然后在你的网站上,你必须这样使用它:
<?php echo ln()?"Home":"Nach Haus;";?>
尽管如此,这是一个粗略的方法,您还必须过滤GET变量以确保它们的安全。
但是,我强烈建议您使用一个框架,比如cake、codeigniter或其他方便的东西。
您可以在.htaccess文件中使用mod_rewrite,使类似"www.yourdomain.com/german.html"的URL指向相应的index.php?lang=de。
类似于:
RewriteEngine on
RewriteRule ^german'.html$ /index.php?lang=de
你可以用mod_rewrite做很多事情。在这里查看更多信息http://httpd.apache.org/docs/current/mod/mod_rewrite.html.