[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Эмуляция веб-страниц
gwyllium
Здравствуйте. Заранее прошу прощения за дурацкое название, но не знаю, как по-другому обозвать проблему. Дело в том, что при работе с некоторыми cms(той же Joomla) я столкнулся с ситуацией, когда ты создаешь страницу, указываешь ее адрес, типа mypage.htm и в браузере эта страница открывается по адресу site.ru/mypage.php, но при этом такой страницы нет в файловой системе. Получается, сервер как-бы эмулирует обращение к странице, которой в действительности не существует?

Мне тут код принесли сайта, просили кое-что подправить, а там та же история - ссылается на файлы, которых вообще нет(при этом сайт на сервере работает нормально). Отсюда вопрос - такие вещи должны настраиваться на сервере или же прописываться кодом? Где можно почитать на эту тему? Я умею пользоваться гуглом, но не могу корректно сформулировать запрос)

Заранее огромное спасибо за помощь smile.gif
Michael
Так это везде сейчас так.
Одна точка входа.
Когда все скрипты из разных файликов вызывались - это прошлый век был.
Реализуется такое тем что все такие запросы на несуществующие файлы, приходят в index.php - входной скрипт - и там уже движком разбираются.

_____________
There never was a struggle in the soul of a good man that was not hard
gwyllium
Цитата (Michael @ 12.03.2013 - 15:58)
Так это везде сейчас так.
Одна точка входа.
Когда все скрипты из разных файликов вызывались - это прошлый век был.
Реализуется такое тем что все такие запросы на несуществующие файлы, приходят в index.php - входной скрипт - и там уже движком разбираются.

А где можно почитать на эту тему? Ну, разбор страниц. Просто я как-то раньше не сталкивался с таким) сталкивался в wordpress со страницами типа ?news_id=xxx
Michael
А что там можно читать? В одной из $_GET переменных будет эта строка из адреса. А дальше каждый движок или фреймворк по своему определяет что это за страница сайта.

_____________
There never was a struggle in the soul of a good man that was not hard
gwyllium
Цитата (Michael @ 12.03.2013 - 16:06)
А что там можно читать? В одной из $_GET переменных будет эта строка из адреса. А дальше каждый движок или фреймворк по своему определяет что это за страница сайта.

У меня это определяется так:


if($_GET['mod'] == '' || !$_GET['mod'] ) {
$_GET['mod']='start';


if(db_count_rows("module", "name='".$_GET['mod']."'") == 1) {
$result=db_connect_query("SELECT `id`, main_template FROM module WHERE `name`='".$_GET['mod']."'", 1, __FILE__, __LINE__);
$moduleData=mysql_fetch_array($result);
$access=db_count_rows('user_group_rights', '`group_id`='.$_SESSION['user']['group_id'], '`module_id`='.$moduleData['id']);
if($access == 1) {
// Prьfen ob Modul als Datei exitiert
if(file_exists(page_path.'module/'.$_GET['mod'].'/index.php')) {
// Modul laden
require_once(page_path.'module/'.$_GET['mod'].'/index.php');
} else {
//header('Location: '.page_url.$_SESSION['user']['lang'].'/'.start_module.'.htm');
}
} else {
//header('Location: '.page_url.$_SESSION['user']['lang'].'/'.start_module.'.htm');
}
} else {
//header('Location: '.page_url.$_SESSION['user']['lang'].'/'.start_module.'.htm');
}



А переадресация идет на site.ru/ru/start.htm

Я просто не совсем понимаю, где будет этот разбор? в Конфиге, базе данных или коде?
Michael
Какой дырявый код :angry:

Тут:
require_once(page_path.'module/'.$_GET['mod'].'/index.php');

у тебя подключается нужный файл.

_____________
There never was a struggle in the soul of a good man that was not hard
gwyllium
Цитата (Michael @ 12.03.2013 - 16:18)
Какой дырявый код :angry:

Тут:
require_once(page_path.'module/'.$_GET['mod'].'/index.php');

у тебя подключается нужный файл.

Попытался поправить, пока безрезультатно. Подскажите пожалуйста, по какому запросу копать информацию? Попробую досконально разобраться сам.
Michael
тыц

_____________
There never was a struggle in the soul of a good man that was not hard
gwyllium
Цитата (Michael @ 12.03.2013 - 16:36)
тыц

Хм, я прочитал весь документ, но так и не нашел ответ на свой вопрос. Я понимаю взаимодействие между сервером и клиентом, понимаю в чем различие между POST&GET и понимаю, что сервер всего-лишь генерирует конкретную страницу. Но как происходит генерация страницы, которой нет в файловой системе? Я не нашел тут ответа.
gwyllium
Кажется я нашел в чем дело - mod_rewrite в .htaccess. Огромное спасибо за помощь
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.