【问题标题】:htaccess for fully ajax based sitehtaccess 用于完全基于 ajax 的站点
【发布时间】:2014-04-05 11:26:11
【问题描述】:

我正在制作完全基于 ajax 的网站。每当有任何 URL 访问站点时,我都需要加载通用视图。所以为此我在 htaccess 中做了这个

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]

在加载通用视图后,我正在进行 ajax 调用,但由于这个 htaccess,ajax 调用再次加载相同的视图。

例如,

如果有人请求www.abc.com/dashboard,则需要先加载index.php 文件。然后我将再次请求/dashboard获取 HTML 内容。

简而言之,index.php 加载骨架,然后我准备从 ajax 加载数据。 但是由于上面的htaccess,即使我请求/dashboard,它也会加载index.php

我陷入了僵局。

更多信息: 我正在使用jQueryasual address 插件来处理地址更改事件。

我正在使用CodeIgniter

【问题讨论】:

  • 我敢打赌,问题出在您的 jquery ajax 请求中(您没有显示),或者您在 html 标头中遗漏了 base tag

标签: php jquery ajax .htaccess


【解决方案1】:

这与您的 htaccess 无关。您应该在 index.php 文件中有逻辑,它会以不同于普通请求的方式路由 AJAX 请求。

【讨论】:

【解决方案2】:

试试

include_once('/dashboard/mydashboard.php');

在你的 index.php 中 然后运行 ​​mydashboard.php 的逻辑(或者你怎么称呼它)

【讨论】:

  • 但我正在使用 CodeIgniter。
  • 我不了解 codeIgniter,但正如 edvinas.me 指出的那样,它应该是可能的。如果 codeIgniter 对您来说太复杂,请尝试更简单/更简单的 CMS
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-29
  • 2011-12-26
相关资源
最近更新 更多