Перенаправление индексных файлов JSON в вложенных каталогах на PHP-контроллер


Я пытаюсь придумать способ сделать так, чтобы, если у меня есть каталог, содержащий файл JSON в качестве индекса (например, index.json), я мог бы сделать так, чтобы, когда кто-то посещает этот каталог, index.json передается в PHP-файл "контроллера" за пределами этого каталога, который декодирует JSON и генерирует страницу на его основе. Возможно ли это каким-то образом с помощью .htaccess и/или PHP без необходимости иметь несколько копий PHP-файла "контроллера"?

Author: ryanve, 2012-07-19

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.

 2
Author: Jon Lin, 2012-07-18 21:45:42