我知道从 AngularJS 中删除哈希非常简单,但问题是后端位于 Django 中。
因此,除非使用“F5”刷新页面,否则应用程序可以正常运行。
所以,如果单击按钮,http://127.0.0.1:8000/account
就可以工作,但刷新页面会在服务器搜索时给出Page not found
它位于 urls.py
文件
有人可以建议我解决这个问题吗?
最佳答案
一切都是对的。当您刷新页面时,首先在服务器上处理请求(并转到 django 路由器)。因此服务器应该知道它应该返回此 URL 的 Angular 页面。
假设您的包含 Angular 应用程序的页面位于名为 index
的 View 中。然后只需将此网址指向它即可:
urlpatterns = [
url(r'^account/$', index),
]
或将所有网址指向您的 View (如果您不需要在没有 Angular 的情况下处理任何其他网址):
//something like this, not really sure about the regex
urlpatterns = [
url(r'^.*$', index),
]
或者类似的东西
urlpatterns = [
url(r'^/account/.*$', index),
]
您并不是唯一遇到此问题的人:请参阅 this和 this 。 正如您所看到的,这不是 Django 特有的问题,而是一些通用的客户端-服务器工作流程。
关于angularjs - 从 angularJS 的 url 中删除 # 以进行 SEO,后端为 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47373927/