Делал под версию 1.5.3.1, но идея работает везде.
Годится как для seo_url, так и для seo_pro, а также если ЧПУ не включено вОвсе )
Комментами обозначено после чего и что было добавлено в system/library/url.php
<?php
class Url {
private $url;
private $ssl;
private $rewrite = array();
public function __construct($url, $ssl = '') {
$this->url = $url;
$this->ssl = $ssl;
}
public function addRewrite($rewrite) {
$this->rewrite[] = $rewrite;
}
public function link($route, $args = '', $connection = 'NONSSL') {
if ($connection == 'NONSSL') {
$url = $this->url;
} else {
$url = $this->ssl;
}
$url .= 'index.php?route=' . $route;
if ($args) {
$url .= str_replace('&', '&', '&' . ltrim($args, '&'));
}
// Добавлено ------------------------------------------------
else {
if($route == 'common/home') {
if($connection == 'NONSSL') { return HTTP_SERVER; }
else { return HTTPS_SERVER; }
}
}
//---------------------------------------------------------
foreach ($this->rewrite as $rewrite) {
$url = $rewrite->rewrite($url);
}
return $url;
}
}
?>