我创建了一个多语种的酒店网站。 URL如下所示:
www.blahblah.com/apartments.php?lang=en
我现在想要的是另一种语言,比如说德语,有以下网址。:
www.blahblah.com/somethingElseHere.php?lang=de
我希望如此,以帮助我的网站搜索引擎优化。
我想我必须使用URL别名,但我不知道如何开始。
有什么想法吗?
答案 0 :(得分:2)
你必须写一段这样的代码:
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或其他什么方便你。
答案 1 :(得分:1)
你可以在.htaccess文件中使用mod_rewrite来制作像“www.yourdomain.com/german.html”这样的网址,以获得相应的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。