4

我做了一些 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 ”或尝试重新加载页面时当我在投资组合路线上时,它会给我一个服务器错误。我能做点什么吗?

提前致谢。

4

2 回答 2

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>
于 2013-08-26T22:06:45.540 回答
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> 还添加到您的 index.html 代码<head>部分

于 2015-12-31T10:48:48.493 回答