1

我的开发人员外出度假,我正试图弄清楚如何从我的 XML 站点地图生成器中删除 php 扩展。

这是需要更改的代码:

    //remaining main pages:
$pages=array();
$query="SELECT DISTINCT strona FROM `sites_table`";
if($result=$GLOBALS['mysql']->query($query))
{
    $i=0;
    while($row=$result->fetch_assoc())
    {
        if($row['site']!="/index.php")
        {
            $pageName=substr($row['site'],1);
            array_push($pages,$pageName);
            write(insertIntoTemplate($pageName,"0.8","hourly"));
        }
    }
    $result->free();
}
else 
    echo $dbErrorMsg;

MySQL 查询只打印网站数组,例如:news.php、sports.php、political.php 等。

我只需要删除这个 .php 扩展名;)我已经使用特殊的 .htaccess 文件做到了,但现在我只需要通知 Google 我正在使用非 .php 网站。

4

3 回答 3

0

看起来您应该能够更改线路:

$pageName=substr($row['site'],1);

到:

$pageName=substr($row['site'],1, -4);

注意:此代码所做的只是删除最后四个字符 - 如果存在预期扩展名的地方、不遵循 .php 模型的项目等,这可能会破坏站点的其他部分。

于 2012-07-02T22:07:29.827 回答
0

这应该对您有用,只要您可以将所有出现的 .php 替换为空字符串。这没有考虑到您的应用程序中可能存在的任何边缘情况,如果您不确定自己,您需要与您的开发人员交谈以确定这一点。

//remaining main pages:
$pages=array();
$query="SELECT DISTINCT strona FROM `sites_table`";
if($result=$GLOBALS['mysql']->query($query))
{
    $i=0;
    while($row=$result->fetch_assoc())
    {
        if($row['site']!="/index.php")
        {
            //do a string replace of all occurrences of .php 
            $pageName=substr(str_replace('.php','',$row['site']),1);
            array_push($pages,$pageName);
            write(insertIntoTemplate($pageName,"0.8","hourly"));
        }
    }
    $result->free();
}
else 
    echo $dbErrorMsg;
于 2012-07-02T22:29:07.873 回答
0

似乎 $pageName 也用于其他一些页面,所以我就是这样做的,现在没有错误:

            //do a string replace of all occurrences of .php 
            $pageName=substr($row['site'],1);
            array_push($pages,$pageName);
            $pageName2=substr(str_replace('.php','',$row['site']),1);
            array_push($pages,$pageName);
            write(insertIntoTemplate($pageName2,"0.8","hourly"));
于 2012-07-03T09:02:47.040 回答