@@ -28,6 +28,11 @@ var VERB = {
28
28
module . exports = function ( options ) {
29
29
var defaultRouter = options . defaultRouter || 'home' ;
30
30
var defaultAction = options . defaultAction || 'index' ;
31
+ var shiftRouterNameFromUrl = true ;
32
+ if ( options . hasOwnProperty ( shiftRouterNameFromUrl ) ) {
33
+ shiftRouterNameFromUrl = ! ! options . shiftRouterNameFromUrl ;
34
+ }
35
+
31
36
var appPath = options . appPath || ( path . dirname ( require . main . filename ) + '/app' ) ;
32
37
debuglog ( 'set options appPath [%s], defaultRouter [%s], defaultAction [%s]' , appPath , defaultRouter , defaultAction ) ;
33
38
var routers = { } ;
@@ -55,7 +60,7 @@ module.exports = function (options) {
55
60
return ;
56
61
}
57
62
debuglog ( 'actually get router [%s]' , router . __name__ ) ;
58
- if ( router . __name__ === routerName && req . params . router ) {
63
+ if ( router . __name__ === routerName && req . params . router && shiftRouterNameFromUrl ) {
59
64
req . url = shiftUrl ( req . url ) ;
60
65
debuglog ( 'router is matched, remove router from url [%s]' , req . url ) ;
61
66
}
@@ -86,7 +91,7 @@ module.exports = function (options) {
86
91
return ;
87
92
}
88
93
debuglog ( 'actually get action [%s]' , action . __name__ ) ;
89
- if ( action . __name__ === actionName && req . params . action ) {
94
+ if ( action . __name__ === actionName && req . params . action && shiftRouterNameFromUrl ) {
90
95
req . url = shiftUrl ( req . url ) ;
91
96
debuglog ( 'action is matched, remove action from url [%s]' , req . url ) ;
92
97
}
0 commit comments