在蛋糕php中,如果用户删除其字符,则需要维护slug

时间:2013-06-17 07:47:28

标签: cakephp cakephp-1.3

我正在使用cakphp1.3我的问题 它是一个房产列表网站。 对于显示我有以下网址的个人财产http://srighar.com/property/view/66/1BHK-Test1-in-attingal-Ranchi-Jharkhand-for-sale 但是同一页面将会出现以下所有网址     http://srighar.com/property/view/66/1BHK-Test1-in-attingal-Ranchi-Jharkhand-for     mysite的// srighar.com /属性/视图/ 66 / 1BHK-测试1合阿特廷格阿尔-兰契     mysite的// srighar.com /属性/视图/ 66 / 1BHK-测试1合阿特廷格阿尔然     .....等等...     mysite的// srighar.com /属性/视图/ 66 /

如果用户意外删除了网址上的字符,我需要为所有上述网址维护第一个网址(/ property / view / 66 / 1BHK-Test1-in-attingal-Ranchi-Jharkhand-for-sale)。

1 个答案:

答案 0 :(得分:1)

检查网址并在必要时重定向

您需要做的就是检查网址中的slug是否是当前的slug,如果没有,请{ur} 301 redirect到右边的网址:

function view($id, $slug = null) {
    $record = $this->Foo->findById($id);
    if ($record['Foo']['slug'] !== $slug) {
        return $this->redirect(
            array(
                $id,
                $record['Foo']['slug']
            ),
            301
        );
    }

    ...
}

这样,如果slug意外错误,或者slug更改(原始记录更新),则url保持正确,并且每条记录都有一个强制规范URL。