Query_string

Capitan Blood

Новичок
Query_string

Недавно появился заказ у меня - надо напсиать портал, в котормо материал разбит по категориям(*кат1, кат2 и т.д) причём требование было что бы каждая категория представляла собой отдельную папку(.т.е. что бы ссылки имели вид: http://www.site.ru/cat1/), т.к. это был бы геморой я побрёл в инет на посики знаний
набрёл на такую статью: иммитация папок и файлов
прочитав решил делать так, создал .htaccess, прописал всё, и ... остановился на этапе когда надобобработать строку запроса, проблема вся заключаеться в том что $_SERVER['REQUEST_URI'] толкьо уже конечную страницу обработки.. т.е. если например
.htaccess
CODE

ErrorDocument 404 category.php
ErrorDocument 403 category.php
ErrorDocument 401 category.php


category.php
CODE

<?
header ("HTTP/1.0 200 Ok");

echo $_SERVER['REQUEST_URI'];
?>


выводит category.php
строка $_SERVER['QUERY_STRING'] вообще ничгео не содержит.. так как же мне получить путь который был реально введён?
 

Фанат

oncle terrible
Команда форума
Capitan Blood
Если ты не заметил, на сайте пхпклуб ру есть обширный фак на интересующую тебя тему.
 

Capitan Blood

Новичок
мгм, вся проблем а втом что дома тоя смогу поставить mod_rewrite,а как на реальнмо серваке где будет крутиться всё это дело? я там не имею доступа к конфе апача
 

Capitan Blood

Новичок
to WP: читай внимательно - не имею досутп к конфигу,
всем спасибо, будем смотреть на кофу...
 

WP

^_^
Capitan Blood
Я внимательно читаю. Админ имеет. Его и попроси.
 

Capitan Blood

Новичок
так, ну что ж -пришла пора разбираться с mod rewrite - подключил я его в апаче, составляю htaccess
задача:
если странциа суещсьтвует - то вывести её
если не существует то перенаправить на index.php с параметрами скажем param=НЕСУЩЕСТВУЮЩИЙ ЗАПРОС

т.е. если набрали к примеру: www.mysite.ru/index.php - соот.index
если набрали к примеру: www.mysite.ru/index.php?page=2 - соот.страницу 2
если т.е. если набрали к примеру: www.mysite.ru/cat1/ - соот.index.php?param=cat1

помогите плз - пока что все попытки приводят к подвисанию апача(возникает ещё несоклько процессов апач которые грузят проц на 100%)
 

nehochuha

Новичок
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /

#except adminitration
RewriteRule ^admin/(.*) admin/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>

в этом примере admin пропускается....потому что если написать www.site.kg/admin/
то index.php тут не подразумевается а так как такого файла нет. нужно явно разрешать папки. но если
www.site.kg/admin/index.php тогда это правило можно удалять...

все остальное идет на Front Controller в данном случае это index.php RewriteCond %{REQUEST_FILENAME} !-f говорит о том, что если файл не существует. тогда должно выполняться правило RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]

В остальном Гугл в помощь.. напиши mod_rewrite tutorial

или вот перевод руководства автора этого замечательного модуля http://www.egoroff.spb.ru/portfolio/apache/rewriteguide.html спасибо Егорову Александру
 
Сверху