Управление на множество 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
Все още няма коментари.