У меня есть отличный фреймворк, который одинаково хорошо работает как на небольших сайтах, так и на больших.Структура практически одинакова во всех случаях, и моя структура каталогов выглядит следующим образом:
.htaccess
inc/
tpl/
css/
images/
js/
index.php
Работа index.php
заключается в определении того, какой файл загружать, где любая логика программирования содержится в файлахкаталог inc
, а шаблоны - справка в каталоге tpl
.Например, index.php
может быть таким простым:
<?php
switch ($_GET['filename']) {
case 'news':
require('inc/news.php'); // your news functions
include('tpl/news.tpl.php'); // your news template
break;
case 'events':
require('inc/events.php');
include('tpl/events.tpl.php');
break;
case 'contact':
require('inc/contact.php');
include('tpl/contact.tpl.php');
break;
default:
if ($_GET['filename'] == '') {
include('tpl/home.tpl.php');
}
else {
header('HTTP/1.0 404 Not Found');
include('tpl/page_not_found.tpl.php');
}
break;
}
В сочетании со следующими .htaccess
правилами:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+) index.php?filename=$1
Надеюсь, это имеет смысл.Если нет, дайте мне знать, что не так, и я буду рад объяснить дальше.