我有一个网址,例如:http://localhost/project
,当用户去那里时,我想重定向到http://localhost/project/en
。我该如何做到这一点?
答案 0 :(得分:3)
您可以通过编程方式或在Web服务器级别使用某些内容(例如,使用Apache的mod_rewrite)。由于您明确提到了PHP,我将为您提供以下内容。
在名为' project'的文件夹中在您的文档根目录下,使用以下内容创建index.php:
<?php
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://localhost/project/en" );
exit(0);
?>
这是一个链接,显示此样式和其他方法(包括mod_rewrite)来处理此问题:
答案 1 :(得分:1)
有很多方法。您应该使用虚拟主机并重写uri来正确准备您的URL,但是如果您不想打扰这些并且想要一个“正常工作”的方法,那么请尝试以下方法:
$explode = explode('/',$_SERVER['REQUEST_URI']);
if (count($explode) == 1)){
header('Location: http://localhost/project/en');
}
评论后修改
试试这个,但要注意我没有测试过,因为我没有我的产品。环境在这里,但它应该工作。如果没有,请评论:)
$explode = explode('/',$_SERVER['REQUEST_URI']);
$endsWithSlash = FALSE;
end($explode);
if (empty($explode[key($explode)])){
unset($explode[key($explode)]);
$endsWithSlash = TRUE;
}
if (end($explode) != 'en'){
$url = 'http://localhost';
$url .= $_SERVER['REQUEST_URI'];
if (!$endsWithSlash){ $url .= '/'; }
$url .= 'en';
header('Location: '.$url);
}