Revision #3 has been created by marcovtwout on Dec 12, 2011, 3:20:26 PM with the memo:
updated code samples from fix in comments by redguy
« previous (#2) next (#4) »
Changes
Title
unchanged
How to ensure unicity to url
Category
unchanged
Tips
Yii version
unchanged
Tags
unchanged
SEO, unique, URL
Content
changed
[...]
```php
public function beforeAction($action)
{
if (Yii::app()->request->$url
!=
CHtml::normalizeUrl(array_merge(
array(
"/" . $this->route
), $_GET
)))
$this->redirect(CHtml::normalizeUrl(array_merge(array($this->route), $_GET)) );
if( Yii::app()->request->url != CHtml::normalizeUrl( $url ) ) {
$this->redirect( $url, true, 301
);
}
return parent::beforeAction($action);
}
```[...]
public function beforeAction($action)
{
if (Yii::app()->request->$url
!=
CHtml::normalizeUrl(array_merge(
array(
"/" . $this->route
), $_GET
))) );
$this->redirect(CHtml::normalizeUrl(array_merge(array($this->route), $_GET))if( Yii::app()->request->url != CHtml::normalizeUrl( $url ) ) {
$this->redirect( $url, true, 301
);
}
return parent::beforeAction($action);
}
}
```
Notice that you cannot add this rule for actionError and actionIndex, so if you want to make unique addresses in the site controller you cannot extend the master controller, but you have to implement a special method with exception for this two actions.
Links[...]