关于服务器配置的主干和推送状态
Backbone and pushstate with regards to server confuguration
我想扩展我关于这个问题的问题。我能够让 pushstate 在我的骨干应用程序中正常工作。因此,在访问我的应用程序和导航链接时,我被重定向到localhost:8000/page而不是localhost:8000/#page。现在,重新加载本地主机:8000/页时,我的问题变得明显。显然,我的服务器会抛出错误,因为它找不到指定的页面。与 localhost:8000/#page 相反,它将调用正确的路由。现在假设我的应用程序在以下 localhost:8000/index.html。然后我是否必须请求将所有路由重定向到 localhost:8000/index.html。什么被认为是正确的方法?我发现这个要点是基于主干和推送状态的节点.js服务器配置。快速查看,似乎所有请求都只是重定向到应用程序文件(index.html)。这是对的吗?IIS运气好吗?
基本上,你需要在Apache或Nginx中重写一些规则。
Apache Vhost:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index'.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
嘟嘟:
rewrite ^(.+)$ /index.html last;
对于实际的 API 调用,我在子域(如 api.site.com)上提供它们。为此,您可能需要启用 CORS。
我在这个博客条目中更深入地讨论了它:http://readystate4.com/2012/05/17/nginx-and-apache-rewrite-to-support-html5-pushstate/
相关文章:
- 如何配置分析以将数据发送到我自己的服务器
- Javascript配置服务器URL并将其存储
- Nodejs服务器:加载资源失败:服务器的响应状态为404(未找到)
- 使用PHP或Javascript获取服务器状态
- 如何在node.js服务器上使用AnnYang语音重新配置
- AJAX错误状态代码500内部服务器错误
- 带Jquery的wep API,加载资源失败:服务器响应状态为404(未找到)
- grunt 命令在配置 EaselJS 项目时不运行服务器
- 从服务器到客户端的响应状态
- 配置服务器端CORS:ExpressJS No“;访问控制允许起源”;在场
- 在Sharded服务器配置中上传PHP文件
- 使用Javascript(无CORS或jsonp)从服务器读取配置文件
- CloudKitJS服务器到服务器配置
- AngularJs $http postsuccessCallback 导致页面重定向,即使服务器以 200 状态响应也
- XMLHttpRequest 状态 2 等待来自服务器的响应
- 关于服务器配置的主干和推送状态
- 需要多人游戏服务器配置的建议
- WEBRTC:在RtcPeerConnection创建后添加stun/turn服务器配置
- 我可以在哪里下载eclipse的基本服务器配置
- JS Modal不显示输入字段中的变量——服务器配置要求