2017-06-08 118 views
0

當角和路線的工作,如果你重新載入頁面,讓我們說,本地主機:9000 /產品,響應將是404AngularJS頁面刷新的問題

我使用使用python -m SimpleHTTPServer port no創建的Python服務器。如何解決這個問題,因爲.htaccess文件不在這個工作?

+1

您是否啓用了Html5模式?如果是,則添加'' –

回答

0

.htaccess文件是用於Apache http服務器而不是python服務器,.htaccess用於設置apache服務器將會觀察到的重定向,但是如果您使用nginx或者在這種情況下需要使用python簡單http服務器重定向具體到特定的HTTP服務器,這可能幫助:

https://gist.github.com/chrisbolin/2e90bc492270802d00a6

複製在這裏沒有我自己寫的顯然也從SO

''' Taken from: http://stackoverflow.com/users/1074592/fakerainbrigand http://stackoverflow.com/questions/15401815/python-simplehttpserver ''' 

import SimpleHTTPServer, SocketServer import urlparse, os 

PORT = 3000 INDEXFILE = 'index.html' 

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: 
     # send index.html, but don't redirect 
     self.send_response(200) 
     self.send_header('Content-Type', 'text/html') 
     self.end_headers() 
     with open(INDEXFILE, 'r') as fin: 
      self.copyfile(fin, self.wfile) 

Handler = MyHandler 

httpd = SocketServer.TCPServer(("", PORT), Handler) 

print "serving at port", PORT httpd.serve_forever() 

而且我個人使用Apache本地,只是有BR owsersync代理到Apache服務器,並處理重定向如果沒有找到文件,從那裏角頁接管和路由踢開恢復視圖或轉到頁面未找到視圖。