将子目录中的JSON索引文件重定向到PHP控制器

时间:2012-07-18 20:48:01

标签: php json .htaccess redirect url-rewriting

我正在试图找到一种方法来制作它,以便如果我有一个包含JSON文件作为其索引的目录(例如index.json),我可以拥有它以便当有人访问该目录时index.json被传递到该目录之外的“控制器”PHP文件,该文件解码JSON并基于它生成页面。这可能通过.htaccess和/或PHP以某种方式实现,而无需拥有“控制器”PHP文件的多个副本吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试使用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文件,则根本无法传递查询字符串。