ngRoute Params url on refresh not working

时间:2018-06-17 04:47:45

标签: angularjs node.js ngroute

我在angularjs中使用了node.js中的ngRoute,我创建了一个类似于' localhost:3000 / user /:id'的URL。 我第一次点击链接然后它正确地重定向到这个页面并且工作正常。但是当我刷新这个url时,css和js的外部文件的所有路径都相对于Param url发生了变化。 第一次css文件路径是' /css/style.css'但刷新后它变为' /user/css/style.css'。 我不知道最近发生了什么。但是,如果我在网址中包含#在刷新网址后工作正常。 下面是我的路由配置代码和节点配置代码。 ngRoute提供商 -

$routeProvider.when("/", {
            templateUrl: "/pages/home.html",
            controller: "homeController"
        }).when("/about-us", {
            templateUrl: "/pages/about-us.html",
            controller: "homeController"
        }).when("/users", {
            templateUrl: "/pages/users.html",
            controller: "usersController"
        }).when("/user/:id", {
            templateUrl: "/pages/users.html",
            controller: "usersController"
        })
        .otherwise({
            redirectTo: "/"
        });

        $locationProvider.html5Mode({
            enabled: true,
            requireBase: false
        });
node.js中的

var express         = require('express');
var logger          = require('morgan');
var path            = require('path');
var app             = express();
var server          = require('http').createServer(app);

app.use(logger('dev'));

app.set('port', process.env.PORT || 3000); 

app.set('env','development')  ; 
app.set('views', path.join(__dirname, '/pages'));
app.use(express.static(path.join(__dirname, '/')));

 app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});



    app.all('*', function(req, res) {
        res.sendfile('pages/index.html');  
    });

server.on('error', function(err){
    process.exit(1);
}).listen(app.get('port'), function(){
    console.log('App is running at: '+app.get('port'))
});

请帮我解决这个问题。 感谢。

1 个答案:

答案 0 :(得分:-1)

您只需将.htaccess文件放在所有路由重定向到index.html页面的位置,这样就可以解决您的问题。

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/index.html$
RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png|css|js)$
RewriteRule .* / [L,R=302]

尝试将此代码放入.htaccess文件并运行您的应用程序,您将无法获得任何问题,希望此答案对您有所帮助。