I am currently using AngularJS with UI-Router for state management and express on the back-end.
I currently have hash bang mode enabled and have been trying to find a solution that allows you type URL's without the hash bang manually in the address bar.
So for example instead of typing:
I want to able to type
I have tried by enable html5Mode:
UPDATE: Your code looks fine to me, i'm going off of experience and think this is a server issue.
There are a few ways you can handle this but as far as I know they are only server side.
The reason why you cannot go directly to the route - mywebsite.com/page1 is because the angular app itself (which resides on the index.html page) needs to intercept/direct you to mypage. This is why you see that the page itself is never reloaded, the views are just changing in your app. You can also test this out by refreshing the page too.
You will need implement something server side, that takes your request (IE: /page1) and route all requests to index.html where Angular will take care of the rest.
Additionally: When you use #/page1, you are still requesting your index page, angular recognizes the # and routes accordingly
Edit: Additional Information