=== modified file 'includes/menu.inc' --- includes/menu.inc +++ includes/menu.inc @@ -412,7 +412,12 @@ function menu_execute_active_handler() { $arguments = isset($menu['callbacks'][$path]['callback arguments']) ? $menu['callbacks'][$path]['callback arguments'] : array(); $arg = substr($_GET['q'], strlen($path) + 1); if (strlen($arg)) { - $arguments = array_merge($arguments, explode('/', $arg)); + if ($menu['callbacks'][$path]['allow arguments'] === FALSE) { + return MENU_NOT_FOUND; + } + else { + $arguments = array_merge($arguments, explode('/', $arg)); + } } return call_user_func_array($menu['callbacks'][$path]['callback'], $arguments); @@ -1072,6 +1077,10 @@ function _menu_build() { $_menu['callbacks'][$item['path']]['callback arguments'] = $item['callback arguments']; unset($item['callback arguments']); } + if (isset($item['allow arguments'])) { + $_menu['callbacks'][$item['path']]['allow arguments'] = $item['allow arguments']; + unset($item['allow arguments']); + } unset($item['callback']); } $_menu['items'][$mid] = $item; === modified file 'modules/node/node.module' --- modules/node/node.module +++ modules/node/node.module @@ -1021,6 +1021,7 @@ function node_menu($may_cache) { $items[] = array('path' => 'node', 'title' => t('content'), 'callback' => 'node_page', + 'allow arguments' => FALSE, 'access' => user_access('access content'), 'type' => MENU_MODIFIABLE_BY_ADMIN); $items[] = array('path' => 'node/add', 'title' => t('create content'),