2014-01-16 4 views
0

Многие учебники, описывающие, как настроить RESTfull api, упоминают использование файла htaccess для перезаписи URL-адреса. Честно говоря, я не совсем понимаю, где это полезно, хотя бы в моем случае. Позвольте мне объяснить. Я создаю приложение для встречи с приложением. Пользователь хранит встречи в db, и, конечно, намерение здесь заключается в том, что это делается через REST.RESTful API, является файлом .htaccess с необходимыми правилами перезаписи

календарь показан на странице с именем calendar.php.From тот момент, когда пользователь выходит там операция GET инициируется позвоночником на страницу с именем events.php:

var Events = Backbone.Collection.extend({ 
    model: Event, 
    url: 'events.php' 
    }); 

Events.php предполагают иметь связанные с кодом запросы db - я говорю, предположим, потому что я еще не написал никакого кода. Чтобы написать приложение, я изучаю этот tutorial здесь.

Так вот мои 2 вопроса:

  1. видите ли вы потребность здесь HTAccess и переписывать правила
  2. Второй вопрос: почему свойство URL в учебнике (код находится в разделе под названием Приведение в Backbone) имеет в качестве страницы только события (без расширения) -в этом случае HTAccess будет иметь смысл, но зачем вообще в первую очередь

ответ

0

Там нет абсолютно никаких оснований, что «REST»интерфейс к приложению должен требовать mod_rewrite или htaccess.

Это вообще полезно, если вы хотите ретроактивно переписать, например. от старого к новому URL (потому что кто-то испортил!).

Люди используют mod_rewrite для всякой ерунды, иногда там, где уже делают куски ядра, например map/foo to /foo.php (mod_negotiation), или настаивая на том, что их реализация считывает строку запроса, но их URL-адрес выглядит как PATH_INFO.

+0

Я понял ваш ответ. Я полагаю, что в моем случае, что вы говорите, применяется еще больше. Я исправлю? –

+0

Существует фундаментальный конфликт, когда люди хотят использовать .php в файловой системе, но не в своем URL-адресе. Есть несколько способов сделать это: – covener

+0

Можете ли вы быть более конкретным и как это связано с REST. –

0

Базовые модели/коллекции используют ресурсы 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 для своих простых запросов. Вы можете просто получить и ID от $_SERVER['PATH_INFO'] переменная в PHP.

+0

Итак, автор учебника (http://blog.shinetech.com/2011/08/05/building-a-shared-calendar-with-backbone-js-and-fullcalendar-a-step-by-step- tutorial /), он мог бы также использовать как URL, events.php.So заключение, переписывание URL-адресов выполняется только для того, чтобы иметь более дружественные URL-адреса, вот что я думаю –

+0

Учебник использовал рубин на рельсах, поэтому он не использовал apache и .htaccess, чтобы сделать URL-адрес 'events'. С apache мы не можем использовать php-файл в качестве URL-адреса, поэтому мы пытаемся обмануть.htaccess и mod rewrite для отправки всех запросов с URL-адресов в один файл, который будет обрабатывать URL-адреса. –

+0

Откуда вы пришли к выводу, что в учебнике используется рубин. Код, который я вижу в учебнике, - это HTML и JS (магистраль). Может ли учебник использоваться с PHP/MySQL, как он сейчас стоит? –

Смежные вопросы