Fixes issue #337: support strict parsing for URL manager.

This commit is contained in:
Qiang Xue
2013-05-23 10:47:45 -04:00
parent 79598ca8ca
commit c4595b8b5d
2 changed files with 32 additions and 0 deletions

View File

@@ -26,6 +26,12 @@ class UrlManager extends Component
* "/index.php?r=news/view&id=100".
*/
public $enablePrettyUrl = false;
/**
* @var boolean whether to enable strict parsing. If strict parsing is enabled, the incoming
* requested URL must match at least one of the [[rules]] in order to be treated as a valid request.
* This property is used only when [[enablePrettyUrl]] is true.
*/
public $enableStrictParsing = false;
/**
* @var array the rules for creating and parsing URLs when [[enablePrettyUrl]] is true.
* This property is used only if [[enablePrettyUrl]] is true. Each element in the array
@@ -139,6 +145,10 @@ class UrlManager extends Component
}
}
if ($this->enableStrictParsing) {
return false;
}
$suffix = (string)$this->suffix;
if ($suffix !== '' && $suffix !== '/' && $pathInfo !== '') {
$n = strlen($this->suffix);