基于PHP语言的URL别名

时间:2012-01-29 23:58:24

标签: php url seo alias

我创建了一个多语种的酒店网站。 URL如下所示:

  

www.blahblah.com/apartments.php?lang=en

我现在想要的是另一种语言,比如说德语,有以下网址。:

  

www.blahblah.com/somethingElseHere.php?lang=de

我希望如此,以帮助我的网站搜索引擎优化。

我想我必须使用URL别名,但我不知道如何开始。

有什么想法吗?

2 个答案:

答案 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