- Доступ к .htaccess.
- Наличие mod_rewrite.
Как это работает?
В .htaccess мы пишем следующий код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?trans=$1 [QSA]
т.е. все запросы за исключением запросов к уже существующим файлам перенаправляются на index.php. Таким образом если пользователь обратится к несуществующему файлу, он попадёт на фаил index.php.RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?trans=$1 [QSA]
Кроме того эта схема даёт возможность сразу использовать ЧПУ.
В начале работы парсим переменную trans:
if (isset($_GET['trans'])){
$link=explode('/',$_GET['trans' ]);
}else{
$link=0;
}
И уже на основе массива $link делаем остальную навигацию. $link=explode('/',$_GET['trans'
}else{
$link=0;
}
June 7 2008, 11:40:25 UTC 3 years ago
June 7 2008, 13:34:20 UTC 3 years ago
И речь идёт о том что-бы пользоваться не переменными окружения $_GET, для определения страницы которую запрашивает пользователь, а собственным массивом $link который создаётся по названной выше схеме :)
June 7 2008, 18:41:34 UTC 3 years ago
June 8 2008, 08:20:34 UTC 3 years ago
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?trans=$1 [QSA]
И ложит в неё все что идёт после http://[адрес сайта]/