生成用户友好的URL,简单易用

时间:2012-02-10 21:24:36

标签: php mysql sql seo

所以,这笔交易是,我在CMS上有这个功能:

function generateDocumentUrl($docid) {
    global $glob, $db, $config;     

    $query = "SELECT doc_name FROM ".$glob['dbprefix']."CubeCart_docs WHERE doc_id='".$docid."'"; 
    $sef_documents = $db->select($query);

    $sefpre = ($config['sefserverconfig'] == 0 || $config['sefserverconfig'] == 3) ? 'info_' : 'i_';
    $ext = ($config['sefserverconfig'] == 3) ? '.php' : '.html';

    $doc = $sef_documents[0]['doc_name'];
    if (strlen($doc) > 0) {
        $doc = generateSafeUrls($doc);
        $doc = $doc . "/";
    }
    $doc = $doc . $sefpre . $docid;

    return strtolower($doc);
}

生成的网址如下:

www.website.com/contacts/info_12

    $doc = $doc . $sefpre . $docid;

这会生成输出,我可以设置为:

www.website.com/contacts/12

但我真正需要的是

www.website.com/contacts

我尝试使用该功能,但无法真正实现最终结果:(

2 个答案:

答案 0 :(得分:1)

好的$ sefpre。 $ docid是在最终/基于该代码后的内容。删除它将删除您的尾随目录。

这样做可能会导致问题:从上面的代码示例中,我们看不到将这些虚拟目录转换为输出的内容(例如htaccess文件+ cms中查找url别名的某些函数)

答案 1 :(得分:0)

没有任何关于这一点表明简单。使用htaccess甚至php中的基本URI解析类来处理易于实现的东西看起来像是一种毫无意义的复杂方式。

也许你应该修改你的问题,详细说明你正在使用哪个CMS。