我的问题是,没有#,URL无法正常工作.这是我的代码:
My problem is url is not working without # . Here is my code :
angular.module('Hiren', ['ngRoute']) .config(function ($routeProvider, $locationProvider) { $routeProvider .when('/', { templateUrl: 'partials/login.html', controller: 'login' }) .when('/redirect', { templateUrl: 'partials/postLogin.html', controller: 'postLogin' }); $locationProvider.html5Mode(true); });当我尝试浏览网址example/redirect时,它显示404,但是使用哈希(example/#redirect)可以正常工作.
When I try to browse the url example/redirect , it gives me 404 , but using hash ( example/#redirect) its perfectly working .
推荐答案如果您在HTML5模式下获取404,则需要配置服务器以在以下情况下为Angular应用程序提供服务(通常为index.html或app.html): 404发生在服务器上.您没有提及服务器使用的内容,因此我无法提供具体说明.这比Angular问题更多的是服务器配置问题.
If you're getting a 404 in HTML5 mode you need to configure your server to serve your Angular application (usually index.html or app.html) when a 404 happens on the server. You don't mention what you're using for a server so I can't give specific instructions on how to do that. This is more a server configuration issue than an Angular one.
立即编辑该服务器的已知名称:
Edit now that server is known:
import SimpleHTTPServer, SocketServer import urlparse, os PORT = 3000 class MyHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): def do_GET(self): # Parse query data to find out what was requested parsedParams = urlparse.urlparse(self.path) # See if the file requested exists if os.access('.' + os.sep + parsedParams.path, os.R_OK): # File exists, serve it up SimpleHTTPServer.SimpleHTTPRequestHandler.do_GET(self); else: # redirect to index.html self.send_response(302) self.send_header('Content-Type', 'text/html') self.send_header('location', '/index.html') self.end_headers() Handler = MyHandler httpd = SocketServer.TCPServer(("", PORT), Handler) print "serving at port", PORT httpd.serve_forever()参考的SO答案.
更多推荐
angularjs漂亮的URL不起作用
发布评论