apt-get и npm лучше чем make&&install.
sudo npm --global install
админы тоже не любятСтабильность это здорово, но, я слышал, что в Debian-репозитории, например, старый node.js (или даже вовсе его нет).
Я по профессии дизайнер. Очень непросто во всё это вникать, править не работающие из коробки конфиги и т.п.
server {
server_name ~^(www\.)?(?<PARTNER>.+)\.site\.com$;
rewrite ^/(.*)$ http\://site\.com/partner/page/$PARTNER/$1 last;
return 403;
}
$route['([-_.,a-z0-9а-я/]+)'] = "router/$1";
<?php
class MY_Router extends CI_Router
{
/**
* Parse Routes
*
* This function matches any routes that may exist in
* the config/routes.php file against the URI to
* determine if the class/method need to be remapped.
*
* @access private
* @return void
*/
function _parse_routes()
{
// Turn the segment array into a URI string
$uri = implode('/', $this->uri->segments);
// Is there a literal match? If so we're done
if (isset($this->routes[$uri]))
{
return $this->_set_request(explode('/', $this->routes[$uri]));
}
// Loop through the route array looking for wild-cards
foreach ($this->routes as $key => $val)
{
// Convert wild-cards to RegEx
$key = str_replace(':any', '.+', str_replace(':num', '[0-9]+', $key));
// ADDED STRING
$uri = urldecode($uri);
// Does the RegEx match?
if (preg_match('#^'.$key.'$#ui', $uri))
{
// Do we have a back-reference?
if (strpos($val, '$') !== FALSE AND strpos($key, '(') !== FALSE)
{
$val = preg_replace('#^'.$key.'$#ui', $val, $uri);
}
return $this->_set_request(explode('/', $val));
}
}
// If we got this far it means we didn't encounter a
// matching route so we'll set the site default route
$this->_set_request($this->uri->segments);
}
}
?>