Difference between #! and ! in Ionic href

Inherited a code, where href is defined as href=#!/page1/param1, as opposed to href=#/page1/param1. By the way, #/page1/param1 does not work in this setup, where as the “#!” works.

What is the difference between both? And is this any reason why my Back buttons do not even show up in the pages?

The state definitions in config file are,
$stateProvider
.state(‘app.page1’, {
url: ‘/page1/:param1’,

  views: {
    viewContent: {
      template: require('./page1.html'),
      controller: 'PageOneCtrl'
    } /* end of viewContent */
  } /* end of views */

}); /* end of state app.page1 */