Перейти к публикации

Не могу разобраться с ЧПУ в htaccess


Рекомендованные сообщения

www.cgmap.ru

При выводе новостей мне нужно использовать еще одну дополнительную не стандартную переменную в запросе.

Примеры УРЛА:

http://www.cgmap.ru/news/index.php?do=cat&category=cfo&catgroup=a

http://www.cgmap.ru/news/index.php?cstart=2&do=cat&category=cfo&catgroup=a

Без ЧПУ все прекрасно работает.

Что мне прописать в htaccess, что бы понимало переменную "catgroup" В качестве значения может быть любая строка.

ЗЫ: Ранее, при включенном ЧПУ была такая строка запроса:

http://www.cgmap.ru/news/maps/rus/cfo/&catgroup=a

И она работала. Некрасиво конечно, но работало.... Но вот при навигации по страницам получается такой УРЛ:

http://www.cgmap.ru/news/maps/rus/cfo/catgroup/a/page/2/

И он естественно не разбирается в плане этого куска: "catgroup/a"

Хелпми знающие люди, сайт надо включать срочно....

ЗЫЗЫ: Сайт с лицензией, Владимир надеюсь помнит...

В init.php вставлено:

if (isset ( $_REQUEST['catgroup'] )) $catgroup = @$db->safesql ( strip_tags ( str_replace ( '/', '', $_GET['catgroup'] ) ) ); else $catgroup = '';
Пробовал прописать в htaccess и так:
RewriteRule ^catgroup/(.*)$ index.php?catgroup=$1 [L]

Не работает :(

При этом еще и при запросе: http://www.cgmap.ru/news/maps/rus/cfo/catgroup/a/page/2/

$category равняется "a", вместо "cfo"

В общем жесть с ЧПУ у меня :(

Изменено пользователем IgorA100
Ссылка на сообщение
Поделиться на других сайтах

Если прописываю так:


RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^.]+)/catgroup/([a-z]+)(/?)+ index.php?catgroup=$2 [L]


RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]

RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]

То при запросе: http://www.cgmap.ru/news/maps/rus/cfo/catgroup/b/page/2/ получаю: do="" category="" catgroup="b" cstart="0" Т.е. catgroup получается нормальным, но все остальное портится :( Нужно еще одно правило написать в дополнение к этому:
RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]
Но как его блин написать.... ЫЫы...... Все, вопрос закрыт. Сайт включен. Сам все починял... Пришлось срочно изучать регулярки и как работает ЧПУ. Нужно было добавить 2а правила в нужное место. Вот привожу код:
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^.]+)/catgroup/([^/]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&catgroup=$2&cstart=$3 [L]

RewriteRule ^([^.]+)/catgroup/([^/]+)(/?)+$ index.php?do=cat&category=$1&catgroup=$2 [L]


RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]

RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]

Изменено пользователем IgorA100
Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...