Is this the proper way to alter a path defined in code by another module? I have installed the FAQ module on my site, and it defines the path to the FAQ page in code as 'faq-page'. I would like to make the path be 'mypath/faq' instead. I think I need to create a little module that implements hook_menu_alter(), so that if I upgrade the FAQ module, my custom path won't be overwritten. I think it should go something like the following:

/**
* Implements hook_menu_alter.
* Override FAQ page path defined by the FAQ module.
*/
function MYMODULE_menu_alter(&amp;$items) {
  $items['mypath/faq'] = $items['faq-page'];
  unset($items['faq-page']);
}


Is this the proper way for me to override the path defined by another module?
No, that's not the right way. You are actually looking for aliases. They are provided by the Path module that is integrated in core.

It's possible to do it the way you propose, but it comes with possible side effects and is a little to much for what you want.