Backbone.js PushState 路由 .htaccess 仅作为散列工作,但无其他用途

2024-03-02

例如,我有一个网站domain.com。我有带有pushstate和后备功能的backbone.js,当我转到domain.com/about时,它会加载index.html页面并将pushstates到about。一切正常。但是,如果我想转到一个包含页面的目录,例如:www.domain.com/bio/moreinfo,它不起作用并抛出无效页面。如果我在 IE 中这样做它工作正常。我的 htaccess 文件具有以下内容:

RewriteEngine on
# html5 pushstate (history) support: 
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteRule (.*) index.html [L]
</ifModule>

如果我直接导​​航到页面domain.com/bio/moreinfo,它就会崩溃(我想是因为我的服务器想要转到bio目录?或者也许我需要实际以不同的方式控制主干中的路由?只是它适用于刘海所以它必须是一些奇怪的推送状态目录,其中 #bio/info 与 apache 的 /bio/info 不同。感谢任何帮助。


很好地使用了另一篇建议帖子中的答案,这是要做的<base href="/" />在index.html 文件中。这实际上使我的 PushState 中的子目录工作了!只是有人建议..但作为回报,它破坏了我的 IE,但我通过在主干的 INIT 中添加额外的代码来修复它

 Backbone.history.start({ pushState: Modernizr.history, silent: true });
if(!Modernizr.history) {
    var rootLength = Backbone.history.options.root.length;
    var fragment = window.location.pathname.substr(rootLength);
    var search = window.location.search;
    Backbone.history.navigate('/#' + fragment + search, { trigger: true });
} else {
    Backbone.history.loadUrl(Backbone.history.getFragment())
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Backbone.js PushState 路由 .htaccess 仅作为散列工作,但无其他用途 的相关文章

  • 使用 .htaccess 处理数千个重定向

    我正在进行网站检修 因此 我将几个页面转移到新的格式 他们没有保留与以前相同的文件名 因此迁移有点棘手 Example news alpinezone com 93467 正在成为http alpinezone com still more
  • htaccess 重写以包含 #!

    呼叫所有 htaccess 专家 我需要你的帮助 我正在尝试强制重写以包含 在网址中 所以基本上我需要 http example com biography http example com biography 将被重写为http exam
  • 配置 htaccess 以使用 Angular 和 PHP 路由

    我正在尝试使用 Angular 4 和 PHP 路由 但我无法配置它以便同时使用两者 我可以让它与其中之一一起工作 但不能同时与两者一起工作 这是我的文件夹结构 root index html vendor bundle js other
  • 如何使用 .htaccess 提供预压缩的 gzip/brotli 文件

    我正在尝试为 html js 和 css 提供预压缩的 gzip brotli 文件 用下面的代码 RewriteEngine on Brotli If the web browser accept brotli encoding Rewr
  • rewrite_mod 已启用,但 .htaccess 不起作用

    我在 Amazon EC2 的 ubuntu 12 04 中使用 apache 2 2 我使用启用了 mod rewrite sudo a2enmod rewrite 并能够看到 apache2ctl M 现在我编写了以下 htaccess
  • 使用 Node.js 的前端 javascript 框架 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 Jasmine 监视 Backbone.js 路由调用

    在主干路由器上监视方法调用时遇到问题 以确保它在给定路由上调用正确的方法 测试摘录 describe Router gt beforeEach gt router new App Router Backbone history start
  • Rails 路由:嵌套、成员、集合、命名空间、范围和可定制

    我想更多地了解铁路路线 会员及收藏 Example resource route with options resources products do member do get short post toggle end collecti
  • URL 重写 OpenCart 产品 SEO

    我想重写我的 opencart 网上商店的产品网址 Opencart 本身有一个 seo 实现 这真的很糟糕 我已经更新了 seo 实现 以便能够对多个类别使用相同的关键字 请参阅 Opencart 重复 URL 关键字 https sta
  • 自定义收集路径的polymorphic_path

    我有以下路线定义 resources documents do collection do post filter end end 以及以下模型结构 class Document lt ActiveRecord Base belongs t
  • ZF2 路线参数带斜杠

    是否可以使用包含正斜杠的参数来组装路由 Config someroute gt array type gt Zend Mvc Router Http Segment options gt array route gt someroute p
  • AH00124:由于可能的原因,请求超出了 10 个内部重定向的限制

    升级我的 Ubuntu 服务器后 我尝试打开我的 WordPress 网站 我在 error log 中收到此错误 AH00124 由于可能的配置错误 请求超出了 10 个内部重定向的限制 如有必要 请使用 LimitInternalRec
  • .htaccess HTTPS 主域和通配符 HTTP 子域 + 所有非 WWW

    Stack Overflow 上有很多类似的解决方案 例如htaccess http 到 https 带 www 不重定向子域 https stackoverflow com questions 30242495 htaccess http
  • Angular - UI 路由器路由 - HTML5 模式

    我正在尝试在我的 Angular 应用程序中使用 HTML5 推送状态链接 我拥有的是一系列类似于以下的路线 stateProvider state product url product productCode templateUrl p
  • NS-2.34 DYMO 贴片

    我正在尝试将 DYMO 路由协议添加到 NS 2 34 但它不起作用 我正在关注这个教程 https khaledben wordpress com 2011 04 16 patching dymo um in ns 2 https kha
  • 控制器名称是从类名称派生的吗?

    这是一个新手问题 我正在查看默认的 asp net mvc3 项目 注意到有一个名为 public class AccountController Controller 我查看了整个代码 找不到指定 AccountController 映射
  • Backbone:仅当事件侦听器尚不存在时才添加

    换句话说 如何找到已收听的事件列表 我正在使用 Backbone on 和 Backbone trigger 在两个彼此不了解的视图之间进行通信 但是 添加侦听器的视图实际上是一个 项目视图 一个集合 所以我添加了许多侦听器 因此我想首先检
  • .htaccess 仅在 safari 上导致重定向循环 - http 到 https

    这种情况只发生在野生动物园中 我不知道为什么 谷歌浏览器 火狐浏览器 一切正常 在任何苹果产品上 使用 Safari 我都会得到一个重定向循环 Code RewriteCond HTTP HOST example com NC Rewrit
  • Laravel 4 路由 404 错误

    当我路由到某个页面时 我无法让 Laravel 找到该页面 我的路线已设置并被识别 当我使用 URL route account create 创建链接时 laravel 会成功地将其解析为 account create 以了解我希望链接转
  • PHP、htaccess:在 URL 中应用页面标题

    我想在 URL 中应用页面 HTML 标题 例如 在这里 stackoverflow url 是这样的 http stackoverflow com questions 10000000 get the title of a page ur

随机推荐