Skip to content

Instantly share code, notes, and snippets.

@makkaba
Forked from leocaseiro/.htaccess
Created November 7, 2016 01:38
Show Gist options
  • Save makkaba/521fd63a6256003d0dd5a56c17967921 to your computer and use it in GitHub Desktop.
Save makkaba/521fd63a6256003d0dd5a56c17967921 to your computer and use it in GitHub Desktop.
Angular html5Mode apache working in a subdirectory /app using ngRoute
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /app/index.html [NC,L]
</IfModule>
var app = angular.module('myApp', ['ngRoute'])
.config(function($routeProvider, $locationProvider) {
$routeProvider.when('/list',
{
templateUrl: 'templates/list.html',
controller: 'ListController'
});
$routeProvider.when('/new',
{
templateUrl: 'templates/new.html',
controller: 'EditController'
});
//Default URL
$routeProvider.otherwise({redirectTo:'list'});
//html5Mode don't need /app/#/ anymore, just /app/
$locationProvider.html5Mode(true).hashPrefix('!'); //the hashPrefix is for SEO
})
;
<!doctype html>
<html ng-app="myApp">
<head>
<meta charset="utf-8" />
<title>List</title>
<base href="/app/"><!-- Make sure the base is above your stylesheet -->
<meta name="fragment" content="!" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link rel="stylesheet" href="css/app.css" />
</head>
<body>
<ng-view></ng-view>
<script src="lib/angular/angular.js"></script>
<script src="lib/angular/angular-route.min.js"></script>
<script src="js/controllers/ListController.js"></script>
<script src="js/controllers/EditController.js"></script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment