对不起,措辞不好的问题。
带有 apache 的 PHP 使用 index.php/index.html 作为目录 URL,例如:localhost = localhost/index.php 或 localhost/place = localhost/place/index.php
如果我从:localhost/place 开始,并且我使用 javascript history.pushstate 来更新一个带有长地址的 url,例如:localhost/place/subplace,那么如果我在浏览器中输入该 url,我将转到 localhost/place/subplace /index.php 当我真的希望 localhost/place/index.php 允许该 url 成为唯一的入口点时。
我正在使用简单的javascript(window.location.pathname 或anchorNode.pathname)来检索用于ajax 的url 路径。这被一个类似于backbone.js 的简单路由器用来更新页面。javascript 路由工作和浏览器中的后退/前进工作。如果我能让它与在地址栏中输入的 url 的单一入口点一起工作。
总结一下:
我希望我的 php 应用程序有一个入口点来获取所有子目录。
在单个入口点,我想运行 javascript 来获取路径并使用它来使用 ajax 路由页面。
我正在使用 history.pushState 来更新 url,但是当目录比主目录长时,这会与应用程序的单点入口相混淆。基本上我得到一个404页面。
现在我不太关心让它向后兼容没有history.pushState的浏览器。我只是想让这件事起作用。
作为附录,我更喜欢使用 javascript 中的常规路径而不是查询字符串。无论页面是使用地址栏加载还是使用history.pushState,这都是我更喜欢的。我不知道这是否可以通过 apache rewrite 或什么来处理。
类似的问题: