我正在使用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)。
答案 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。