public function setUrl(Url $url) { $address = $url->getUrl(); $baseUrl = $this->request->getCurrentRequest()->getSchemeAndHttpHost() . $this->request->getCurrentRequest()->getScriptName(); $baseUrlEscapeQuote = preg_quote($baseUrl); $url->setInternalUrl(false); if (preg_match("#{$baseUrlEscapeQuote}#", $address)) { $url->setUrl(substr($address, strlen($baseUrl))); $url->setInternalUrl(true); } return $url; }