Управление на множество application папки с единствен index.php

Имаше поставен въпрос във форумите на CodeIgniter за управлението на няколко приложения
с различни application папки с помощта на единствен index.php файл. Това беше
проблем, чието решение е и в мой интерес, затова реших да задълбая в него. И така
намерих решението – mod_rewrite разбира се. Всъщност приложих техника, която никога
до сега не бях използвал и това е промяната и редакцията на сървърни променливи
с помощта на mod_rewrite. Ето и какво точно направих:

.htaccess файл-а:

RewriteEngine on

RewriteCond $1 !^(index\.php)
RewriteRule ^([^/]+)/(.*)?$ - [E=PATH_APPLICATION:$1,NE]

RewriteCond $1 !^(index\.php)
RewriteRule ^([^/]+)/(.*)?$ /index.php?/$2 [L]

Използвайки .htaccess файл-а успях да скрия index.php от урл-то, но по-интересната
част е настойката на сървърната променлива REDIRECT_PATH_APPLICATION и нейната стойност
представляваща първия сегмент от достъпвания адрес. Така в index.php аз мога да взема
стойността на $_SERVER['REDIRECT_PATH_APPLICATION']. Тя ми показва къде се намира
папката на нужното приложение. В index.php имам следния код:

$application_folder = "/var/www/".$_SERVER['REDIRECT_PATH_APPLICATION'];

Прочети статията на: English

  1. Все още няма коментари.

  1. Все още няма нито един trackback.