Не за что, это ещё не всё, это только начало! Тебе надо направить все запросы на index.php, а в нём распарсить запрос через parse_url(), и тогда ты сможешь поискать и понять какой тебе нужен файл из тех, в которых ты держишь страницы. А не прописывать адющий километровый лист из кейсов. Тогда будет красиво.
я думал он у него есть! поэтому такие урлы выходят. Я не понимал, что если я прошу написать /alala, то он руками сам идёт и пишет /main.php?page=ololo =( --- Добавлено --- я думал сегодня у всех есть .htaccess!
Эх. Удалил нафих все. Сейчас буду писать все с самого нуля с учетом всех рекомендаций. Буду долбиться стучаться. Если что втупливать опять буду то буду сюда писать за хелпером
Так я какраз с этого и начал. Зашел в исходники движка, выбрал все файлы и нажал shift+del. Тперь и index.php пустой и .htaccess. сижу пытаюсь разобраться.
php_value max_input_vars 250 order deny, allow deny from all allow from 10.90.193.120 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?page=$1 [L,QSA] Пока как-то так
RewriteRule ^(.*)$ index.php?page=$1 поменяй на RewriteRule ^ index.php и в конце обычно какие-то буковки в квадратных скобочках - они там не просто так, прочитай по них.
При обращении по адресу 10.90.193.120/index.php/bla Получаем: array(2){[0]=>string(9)"index.php"[1]=>string(3)"bla"} --- Добавлено --- Хм а если пишу RewriteRule ^(.*)$ index.php?page=$1 [L], то при обращении 10.90.193.120/bla/ выдает array(1){[0]=>string(3)"bla"}, а при ^index.php пишет Object not found
Хм. Получилось у меня извлечь в переменную $page; Только вот не совсем уверен что это верно. .httaccess RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?page=$1 [L] index.php $uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); $uri_p=explode('/', trim($uri, '/')); $page = array_shift($uri_p);
О! Круто. Молодцом. первый член массива будет $uri_p[0], а шифт это для случая, когда ты хочешь писать питоноперлообразный код, уничтожая входные данные по мере потребления. Тебе уничтожать не нужно. Тебе теперь нужно проверить наличие подходящего файла по такому пути =)
Код (Text): if ($_SERVER['REQUEST_URI'] == '/'){ $page='home'; } else{ $page = substr($_SERVER['REQUEST_URI'],1); if (!preg_match('/^[A-z0-9]{3,15}$/',$page)){ exit ("Ошибка УРЛ"); } } if (file_exists('content/'.$page.'.php')){ include ('content'.$page.'.php'); } else{ include ('content/login.php'); }
Слэшик назад вернул. По поводу 404 да ты прав. Не логично как-то получается. Файла нет смотри авторизацию.
А нет ходят. @igordata, Подскажи плиз. В данный момент у меня идет так. Код активации отсылается пользователю на почту в виде ссылки: http://10.90.193.120/activcode/9823hf298fh2938fh239f8hhg2938r92 А ОН МНЕ ГОВОРИТ ОШИБКА УРЛ. Как решить эту проблему? Напоминаю код: Код (Text): if ($_SERVER['REQUEST_URI'] == '/'){ $page='home'; } else{ $page = substr($_SERVER['REQUEST_URI'],1); if (!preg_match('/^[A-z0-9]{3,15}$/',$page)){ exit ("Ошибка УРЛ"); } } if (file_exists('content/'.$page.'.php')){ include ('content/'.$page.'.php'); } else{ include ('content/404.php'); }
Я так понимаю что с GET запросами вообще беда теперь Вот что происходит $page = substr($_SERVER['REQUEST_URI'],1); if (!preg_match('/^[A-z0-9]{3,15}$/',$page)){ exit ("Ошибка УРЛ"); При этом httaccess RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php [L] При этом так реагирует на все GET
всё равно это ещё рано у тебя есть урл, есть файл который обрабатывает все запросы. есть файлы в папке /content. но тебе не хватает механизма обработки и подключения этих файлов так, чтобы внутри файлов ты мог работать с урлом и его параметрами. А скажи, тебе хочется делать движок своими руками или ты просто не видишь другого выхода? Ведь есть движки же разные. Может заюзаешь готовый?
@igordata, Привет дружище. Хочется конечно самому. Не с целью чтобы себя потом в грудь бить и т.д. Я научиться по человичи хочу. --- Добавлено --- Ну и естественно сразу на практике. Наработки по любому нужны. Я понимаю что долго нудно сложно. Но я готов тыкаться мыкаться пробовать и т.д. --- Добавлено --- НАчал смотреть вот это: , Норм или гадость? может что другое посмотреть почитать? --- Добавлено --- Я просто с ооп не сталкивался, но четко понимаю чтобы развиваться то пора уже приступать