2015-01-03 11 views
0

Предположим, у меня есть такая структура https://domain.com/api/rest/v1.0/, но в папке v1.0 У меня есть подпапки вроде data-model и constants.Вложенные папки в API REST

Теперь предположим, что я использую mod rewrite, поэтому все URL-адреса, имеющие базовый URL-адрес https://domain.com/api/rest/v1.0/, отправляются в https://domain.com/api/rest/v1.0/index.php.

Это повлияет на мои файлы PHP, содержащиеся в https://domain.com/api/rest/v1.0/data-model/ и https://domain.com/api/rest/v1.0/constants/?

Например, если в https://domain.com/api/rest/v1.0/index.php Я пытаюсь добавить файл с https://domain.com/api/rest/v1.0/constants/ с помощью require_once, это вызовет какой-то цикл переадресации?

Я не получаю никакого вывода после строк кода, где я делаю выше, но раньше. Точно так же я не получаю никаких ошибок/перезагрузки страницы в браузере, поэтому я немного потеряю.

Если это проблема, у кого-нибудь есть указатели на лучшую структуру файлов REST, чем просто наложение всех файлов в корневую папку?

Благодаря

UPDATE

Вот мое правило переписывание:

<IfModule mod_rewrite.c> 

    RewriteEngine On 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 

    RewriteRule api/rest/v1.0/(.*)$ api/rest/v1.0/index.php?request=$1 [QSA,NC,L] 

</IfModule> 

ответ

0

Нет, ни РНР файлы, ни ваши каталоги не затрагиваются. mod_rewrite только перезаписывает URL-адреса. Это означает, что URL-адреса переписываются только при доступе через HTTP-запрос (например, в браузере).

Возможно, ваши правила перезаписи неверны. Также проверьте файлы журнала php на наличие ошибок. Ваши правила как?

+0

Я тоже думал об этом, но, поскольку в него нет ошибок PHP, я не могу найти проблему. Любые предложения, что может быть неправильным? –

+0

Возможно, ваши правила перезаписи неверны. Какие они? – Guillermo

+0

Конечно, я найду правила и обновляю, как только смогу –

0

Оказалось, что мои подкаталоги были неправильно добавлены в require_once, так как мои пути были относительными. Поэтому вместо require_once 'folder/file.php' я изменил свои файлы, чтобы они теперь читали require_once dirname(__FILE__) . '/folder/file.php'