Перенаправление индексных файлов JSON в вложенных каталогах на PHP-контроллер
Я пытаюсь придумать способ сделать так, чтобы, если у меня есть каталог, содержащий файл JSON в качестве индекса (например, index.json
), я мог бы сделать так, чтобы, когда кто-то посещает этот каталог, index.json
передается в PHP-файл "контроллера" за пределами этого каталога, который декодирует JSON и генерирует страницу на его основе. Возможно ли это каким-то образом с помощью .htaccess и/или PHP без необходимости иметь несколько копий PHP-файла "контроллера"?
1 answers
Вы можете попробовать сделать что-то подобное с помощью mod_rewrite. Скажем, ваш php-контроллер находится здесь: /path/to/json.php
, вы бы использовали эти правила
RewriteEngine On
# Check if request is for a directory
RewriteCond %{REQUEST_FILENAME} -d
# Check if there's an index.json file in that directory
RewriteCond %{REQUEST_FILENAME}/index.json -f
# Pass the request to the controller
RewriteRule ^(.*)$ /path/to/json.php?file=$1/index.json [L]
Само правило может быть изменено в соответствии с тем, как работает ваш контроллер. Вы вообще не смогли бы передать строку запроса, если бы ваш json.php контроллер может просмотреть запрошенный URI и самостоятельно найти файл index.json.