我的代码适用于我的所有网站,但以“es”开头的网站除外。每当我尝试指向这些网站时,都会将我带回index.html
这是我的index.php代码:
<?php
/*
*
License: Creative Commons Attribution 3.0 Unported
License URL: http://creativecommons.org/licenses/by/3.0/
*
*/
include "app/config.php";
include "app/detect.php";
if ($page_name=='') {
include $browser_t.'/index.html';
}
elseif ($page_name=='index.html') {
include $browser_t.'/index.html';
}
elseif ($page_name=='es/index.html') {
include $browser_t.'/es/index.html';
}
else
{
include $browser_t.'/404.html';
}
?>
我正在关联my site,以便您说出我的意思。在右上角有一个超级链接,上面写着“Español”,当你点击它时,它应该会带你到你当前所在页面的西班牙语版本。相反,它只是简单地将您带到索引选项卡并更改子目录,但我的翻译页面不会出现。
在config.php中我有以下内容:
<?php
/*
*
License: Creative Commons Attribution 3.0 Unported
License URL: http://creativecommons.org/licenses/by/3.0/
*
*/
$current_page_uri = $_SERVER['REQUEST_URI'];
$part_url = explode("/", $current_page_uri);
$page_name = end($part_url);
$email_id = "support@elitecomps.com";
?>
我会在这里添加我的detect.php代码,但它是一个大文件,而不是我试图解决的问题所以我只会链接它。
PS 一切都是适当的联系,我已经三重检查了一切。我唯一怀疑的是我的index.php,我不确定为什么。
答案 0 :(得分:0)
$part_url = explode("/", $current_page_uri);
$page_name = end($part_url);
当网址为“es / index.html”时,该代码会将$page_name
分配给“index.html”,因为您只对最后/
之后的内容感兴趣。< / p>
一种方法是使用strrpos
检查字符串的结尾,例如
if(strrpos("es/index.html", $current_page_uri) !== FALSE)
// Go to spanish site
else if(strrpos("index.html", $current_page_uri) !== FALSE)
// Normal index page
您还可以检查$part_url
中的倒数第二个元素,并检查它是否为“es”或任何其他语言代码。
答案 1 :(得分:0)
如果我的逻辑正确,你应该在这里使用另一个条件
取代:
if ($page_name=='') {
include $browser_t.'/index.html';
}
elseif ($page_name=='index.html') {
include $browser_t.'/index.html';
}
elseif ($page_name=='es/index.html') {
include $browser_t.'/es/index.html';
}
else
{
include $browser_t.'/404.html';
}
与
if ($current_page_uri=='') {
include $browser_t.'/index.html';
}
elseif ($current_page_uri=='index.html') {
include $browser_t.'/index.html';
}
elseif ($current_page_uri=='es/index.html') {
include $browser_t.'/es/index.html';
}
else
{
include $browser_t.'/404.html';
}
我认为您打算使用$page_name
作为检测器。但是你想要比较es/index.html
的价值实际上就是你的uri。