3

我的项目是在 CodeIgniter 中设置的。为了清理 CI 的 url,我在页面的 htaccess 中添加了一个 RewriteRule,它删除了丑陋的“index.php”:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

该规则重写:

https://baseurl/index.php

https://baseurl/

现在,我还想使用 javascript 深度链接,因为该项目严重依赖 Ajax 页面刷新。深层链接如下所示:

https://baseurl/#/deeplink

问题是:重写规则删除了我漂亮地注入的深层链接并将用户重定向到根站点......我怎样才能摆脱 index.php 而不会在硬页面刷新时删除我的深层链接?

谢谢!

戴夫·蒂默曼

4

1 回答 1

1

片段#/deeplink永远不会发送到服务器,URL 片段仅保留在客户端(浏览器)上。它永远不会作为请求的一部分发送到服务器。请求:

https://baseurl/#/deeplink

看起来与index.php脚本没有什么不同:

https://baseurl/

不知道你是如何开始读取服务器上的片段的。

于 2012-10-19T01:45:43.317 回答