2
我試圖弄清楚一種方法,以便如果我有一個包含JSON文件作爲索引的目錄(例如index.json
),我可以擁有它當有人訪問該目錄時,index.json
被傳遞到該目錄之外的「控制器」PHP文件,該文件解碼JSON並基於該文件生成頁面。這可能以某種方式通過.htaccess和/或PHP而不需要具有「控制器」PHP文件的多個副本?將子目錄中的JSON索引文件重定向到PHP控制器
我試圖弄清楚一種方法,以便如果我有一個包含JSON文件作爲索引的目錄(例如index.json
),我可以擁有它當有人訪問該目錄時,index.json
被傳遞到該目錄之外的「控制器」PHP文件,該文件解碼JSON並基於該文件生成頁面。這可能以某種方式通過.htaccess和/或PHP而不需要具有「控制器」PHP文件的多個副本?將子目錄中的JSON索引文件重定向到PHP控制器
你可以嘗試使用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文件,那麼您無法傳遞查詢字符串。
那個解決方案非常完美的人 - 簡單而強大。我測試了它,它工作。 TY!是否有可能使它像內部那樣解決,但將原始目錄作爲可見URL保留在地址欄中? – ryanve 2012-07-19 04:02:52
只要路徑是相對的,它就會將orig dir保持爲可見的URL。再次 - 這是王牌。 – ryanve 2012-07-31 02:25:14