【发布时间】:2012-01-29 23:58:24
【问题描述】:
我创建了一个多语言酒店网站。 URL 如下所示:
www.blahblah.com/apartments.php?lang=en
我现在想要的是另一种语言,比如德语,具有以下 URL。:
www.blahblah.com/somethingElseHere.php?lang=de
我想要那个,以帮助我的网站 SEO。
我想我必须使用 URL 别名,但我不知道如何开始。
有什么想法吗?
【问题讨论】:
我创建了一个多语言酒店网站。 URL 如下所示:
www.blahblah.com/apartments.php?lang=en
我现在想要的是另一种语言,比如德语,具有以下 URL。:
www.blahblah.com/somethingElseHere.php?lang=de
我想要那个,以帮助我的网站 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。
【讨论】: