Eu sugeriria usar originalUrl em vez de URL:
var url = req.protocol + '://' + req.get('host') + req.originalUrl;
Veja a descrição do originalUrl aqui:
http://expressjs.com/api.html#req.originalUrl
Em nosso sistema, fazemos algo assim, portanto o originalUrl é importante para nós:
foo = express();
express().use('/foo', foo);
foo.use(require('/foo/blah_controller'));
blah_controller aparece assim:
controller = express();
module.exports = controller;
controller.get('/bar/:barparam', function(req, res) { /* handler code */ });
Portanto, nossos URLs têm o formato:
www.example.com/foo/bar/:barparam
Portanto, precisamos req.originalUrl no controlador de barras get handler.