Допустим, у меня есть такая структура https://domain.com/api/rest/v1.0/
, но в папке v1.0
У меня есть подпапки, как data-model
а также constants
,
Теперь допустим, что я использую переписывание модов, поэтому все 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, чем просто объединение всех файлов в корневой папке?
Спасибо
ОБНОВИТЬ
Вот мое правило переписывания:
<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>
Нет, ни ваши php-файлы, ни ваши каталоги не затрагиваются. mod_rewrite переписывает только URL. Это означает, что URL-адреса переписываются только в том случае, если доступ осуществляется через HTTP-запрос (например, с помощью браузера).
Возможно, ваши правила переписывания неверны. Также проверьте файлы журнала php на наличие ошибок.
Каковы ваши правила?
Оказывается, решение состояло в том, что мои подкаталоги не были правильно добавлены в require_once
как мои пути были относительны. Так что вместо require_once 'folder/file.php'
Я изменил свои файлы, чтобы они теперь читали require_once dirname(__FILE__) . '/folder/file.php'