Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache RESTful API,是一个真正需要重写规则的.htaccess文件_Apache_.htaccess_Mod Rewrite_Backbone.js - Fatal编程技术网

Apache RESTful API,是一个真正需要重写规则的.htaccess文件

Apache RESTful API,是一个真正需要重写规则的.htaccess文件,apache,.htaccess,mod-rewrite,backbone.js,Apache,.htaccess,Mod Rewrite,Backbone.js,许多描述如何设置RESTfull api的教程都提到使用htaccess文件重写url。 老实说,我不太明白这在哪里有用,至少对我来说是这样。 让我解释一下。我正在构建一个约会web应用程序。用户将约会存储在db中,当然这里的目的是通过REST完成 日历显示在一个名为calendar.php的页面中。从用户到达该页面的那一刻起,主干网将启动一个GET操作,然后进入一个名为events.php的页面: var Events = Backbone.Collection.extend({

许多描述如何设置RESTfull api的教程都提到使用htaccess文件重写url。 老实说,我不太明白这在哪里有用,至少对我来说是这样。 让我解释一下。我正在构建一个约会web应用程序。用户将约会存储在db中,当然这里的目的是通过REST完成

日历显示在一个名为calendar.php的页面中。从用户到达该页面的那一刻起,主干网将启动一个GET操作,然后进入一个名为events.php的页面:

   var Events = Backbone.Collection.extend({
    model: Event,
    url: 'events.php'
     }); 
php应该有与代码相关的db查询——我说是假设,因为我还没有在那里编写任何代码

下面是我的两个问题:

  • 您认为这里需要htaccess和重写规则吗
  • 第二个问题是,为什么教程中的url属性(代码位于标题为“引入主干网”的部分中)具有页面事件(不带扩展名)——在这种情况下,htaccess是有意义的,但首先为什么要麻烦呢

  • 应用程序的“REST”接口完全没有理由需要mod_rewrite或htaccess

    通常,只有当您想追溯性地将旧URL重写为新URL时(因为有人搞砸了!),它才有用


    人们使用mod_rewrite来处理各种各样的废话,有时堆栈的核心部分已经在做了——例如映射/foo到/foo.php(mod_协商)或者通过坚持他们的实现读取一个查询字符串,但是他们的URL看起来像路径信息。

    主干模型/集合使用AJAX和RESTful资源从服务器获取和设置数据。例如,
    collection.fetch()
    将发送
    GET events.php
    以获取所有项目。和
    model.save()
    将发送
    POST events.php
    PUT events.php/1
    (其中
    1
    是模型的
    ID
    )。另外,当您只需要从服务器获取一个特定的模型数据时,它将发送
    get events.php/1
    (其中
    1
    是模型的
    ID
    )。因此,对于您的简单请求,您可能根本不需要使用
    .htaccess
    文件。您可以从
    PHP
    中的
    $\u服务器['PATH\u INFO']
    变量中获取和
    ID

    我理解您的答案。我想在我的情况下,您所说的更适用。我说的对吗?人们希望在文件系统中使用.PHP,但不想在URL中使用它,这是一个基本冲突。有多种方法可以实现这一点。你可以更具体地说,以及这与REST的关系。因此,教程()的作者不妨使用URL events.php.So,URL重写是为了获得更友好的URL,这就是本文的重点,我认为教程使用了ruby on rails,因此根本没有使用apache和.htaccess来生成
    事件
    URL。在apache中,我们不能使用php文件作为url,因此我们尝试使用.htaccess和mod rewrite进行欺骗,将url中的所有请求发送到一个文件,该文件将处理url路由。您从哪里得出结论,教程使用了ruby。我在教程中看到的代码是HTML和JS(主干)。本教程是否可以按当前的状态与PHP/MySQL一起使用?源代码的注释中有一个链接,是的,可以使用PHP/MySQL,因为它只是后端,您可以使用自己的。