angularjs - 从 angularJS 的 url 中删除 # 以进行 SEO,后端为 Django

标签 angularjs django seo

我知道从 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), 
]

您并不是唯一遇到此问题的人:请参阅 thisthis 。 正如您所看到的,这不是 Django 特有的问题,而是一些通用的客户端-服务器工作流程。

关于angularjs - 从 angularJS 的 url 中删除 # 以进行 SEO,后端为 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47373927/

相关文章:

javascript - 嵌套 ng-repeat 并针对重复数据打开特定索引

JavaScript 和搜索引擎优化。我应该如何调和它们?

typo3 - 如何从 hreflang 中删除 TYPO3 9 SEO 扩展中的区域

python - 转换日期格式python

seo - 如何向搜索引擎蜘蛛提供区域内容?

javascript - 如何使用带有 ng-repeat 的过滤器根据字段值进行过滤和对象

javascript - 在 ng-repeat 中使用 {{expression}} 来记录 ng-click

internet-explorer - 使用 AngularJS 模型时如何防止 IE8 中的缓存

python - 将 Django form.cleaned_data 存储在空模型字段中?

python - Django自定义注册: how to set a default password and use first name + last name as username