我做了一些Angular路线,如下面的代码所示。
app.config(function($routeProvider, $locationProvider, $provide) {
$routeProvider
.when('/', {
templateUrl: 'home.html',
controller: 'AppCtrl'
});
.when('/portfolio', {
templateUrl: 'portfolio.html',
controller: 'AppCtrl'
})
$provide.decorator('$sniffer', function($delegate) {
$delegate.history = historyCompatCheck();
return $delegate;
});
$locationProvider.html5Mode(true);
});
这很好用,在我将基础href设置为“/”之后它接受了一个带有“/ portfolio”的href的锚,但是当我转到“http://url.com/portfiolo”或尝试重新加载页面时我在投资组合路线上会给我一个服务器错误。我可以为此做些什么吗?
提前致谢。
答案 0 :(得分:7)
我自己解决了..你总是需要在项目的根目录中创建一个.htaccess文件。包含以下内容:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
答案 1 :(得分:0)
#BEGIN
选项+ FollowSymLinks
<ifModule mod_rewrite.c>
RewriteEngine on
# Don't rewrite files or directories
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) your root folder/index.php [NC,L]
</ifModule>
#END
100%工作<base href="/"></base>
还会在<head>
部分