Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Поднимаю опять тему по RewriteRule

Страницы: 1  |  2
24.02.2011, 20:10
iprus

Зарегистрирован:
2008-10-07
Сообщений: 73

Цитата:
посмотрите мой ответ в этом топике от "22.02.2011, 15:15"

Извините, этот топик я как раз не прочитал, не заметил. Хорошо, завтра попробую, спасибо.
27.02.2011, 19:28
iprus

Зарегистрирован:
2008-10-07
Сообщений: 73

Цитата:
С примером, который я привел выше ( с профайлами пользователей ) - все просто, там нет GET-параметров, с тэгами сложнее - нужно передать параметр tag равный номеру тэга.
Можно попробовать использовать такое правило:
Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^tag_([0-9]+).html /netcat/require/e404.php?REQUEST_URI=/tags/&tag=$1 [L,QSA]

Но глобальной переменной $tag нет, ее надо получать так:
$_GET['tag'] ( netcat сам заполняет этот массив )

То есть в системных настройках компонента с тэгами прописать $tag = $_GET['tag'];


Все сделал как описали, к сожалению так и не заработало /tags/tag_x.html
Вообщем зря модуль "Облако тегов" купил, он бесполезен с урлами вида ?tag=x. Хоть в документации что ли напишите какие урлы получаются, знал бы - не купил, а заказал бы программисту как надо с ЧПУ.
27.02.2011, 21:34
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Денис немного с регуляркой ошибся. Надо символ начала строки "^" убрать (у вас же путь /tags/tag_x.html). Вот так работает, по крайней мере у меня:
Код:
RewriteRule tag_([0-9]+).html /netcat/require/e404.php?REQUEST_URI=/tags/&tag=$1 [L,QSA]


Temet nosce...
28.02.2011, 07:46
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 576

Попробовал настроить для интереса, сначала не заработало.
mod_rewrite все отрабатывает, но потом в обработчике e404 начинаются всякие хитрые манипуляции, в итоге похоже система думает, что это страница объекта, пытается определить $message (которого по идее нету) и на этом обламывается:
Тестил на версии 411.

Закусило, поставил обновление до 420, и - о чудо! Parse REQUEST_URI method доработан, все пашет. На 421 также все ОК.

Что имеем в итоге:
1) обновляемся
2) прописываем в htaccess чего было написано (точка по идее наверно экранируется, но и так и так - работает)
3) не забываем в системных настройках компонента тегов прописать $tag=$_GET['tag'];

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
28.02.2011, 18:34
iprus

Зарегистрирован:
2008-10-07
Сообщений: 73

Странно все в этом htaccess
Но заработало даже так:
RewriteRule ^tags/tag_([0-9]+).html /netcat/require/e404.php?REQUEST_URI=/tags/?tag=$1 [L,QSA]
(с символом начала строки ^ и вопросиком перед tag=$1 [L,QSA])

Спасибо всем! Но я так и не понял, почему работает повсякому:
и так как выше
и так:
RewriteRule tags/tag_([0-9]+).html /netcat/require/e404.php?REQUEST_URI=/tags/?tag=$1 [L,QSA]
и так:
RewriteRule tag_([0-9]+).html /netcat/require/e404.php?REQUEST_URI=/tags/?tag=$1 [L,QSA]
и так:
RewriteRule tag_([0-9]+).html /netcat/require/e404.php?REQUEST_URI=/tags/&tag=$1 [L,QSA]
в последнем не указал в начале каталог tags/ и за место вопросика амперсанд, а все равно работает по всякому чё за хрень я в загадках... улыбка
03.03.2011, 00:28
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

А что значит "по всякому"? Вы мат часть по регуляркам изучите и куча вопросов отпадет )

Temet nosce...
03.03.2011, 14:51
iprus

Зарегистрирован:
2008-10-07
Сообщений: 73

А "по всякому" - присмотритесь выше к моим вариациям, неважно где какие закорючки ставить, а нужный урл по любому работает улыбка хоть с символом начала строки, что без него, хоть с указанием имени каталога, хоть без него, хоть с вопросиком после слэша, хоть с амперсандом. В принципе не важно, заработало и ладно, просто любопытно.
Для меня как НЕпрограммиста, но человека дружищего с логикой, это мягко говоря удивительно.
И мат.часть я учить ради двух частных сайтов (под заказ ничего не делаю и не собираюсь) конечно не буду, для этого существуют форумы, где всегда добрые люди помогут улыбка Из сотен моих вопросов я здесь задал лишь несколько, остальные решаю сам.

п.с. Если у Вас, например, есть авто и Вам требуется ремонт, то Вы станете учить матчасть, например, всю его электронику (в универе я это учил год)? Все разные, кто-то поедит в сервис не вникая, кто-то более продвинутый сам поковыряется спросив совета и задав вопросы на форумах, но 99,9% точно не станут поступать в ВУЗ или хотя бы на курсы автослесарей, где учат матчасть улыбка
14.03.2011, 13:44
iprus

Зарегистрирован:
2008-10-07
Сообщений: 73

Добился в htaccess я чпушных урлов тегов: http://mysite.ru/tags/%TAG_ID/

Но вот же вылезла другая проблема, которую уже точно мне самому не решить улыбка, не ковыряясь в системных файлах.
Теперь при выводе навигации по страницам тегов вижу такие корявые урлы:
http://mysite.ru/tags/%TAG_ID/?tag=%TAG_ID&curPos=номер_страницы, что понятно не работает как надо.
Поправить урлы естественно я не могу (и RewriteRule бессмыслен), потому что ?tag= приписывается системно функцией browse_messages подставляя в параметры урла ключевик tag из поля настроек компонента (теги) раздела. Или мне нужно самому написать свою функцию browse_messages, что я не умею.

И какого ... я тратил время на /%TAG_ID/ (все разборы выше), когда в системе и функциях модуля прописаны урлы типа ?tag=
А ведь можно было сказать, что типа не парься парень, там такие вот еще подводные камни улыбка

Этот выше вопрос прежде всего к поддержке?
Почему же модуль "Облако тегов" в отличие от других нормальных модулей так сделан, что в нем все жестко как душе разработчиков угодно прописано (и некоторые вещи не верно продуманы) и нет возможности пользовать API в полной мере как стандартно принято в других компонентах и модулях и нет универсальности.
15.03.2011, 16:49
Asiat
Аниматика
Asiat

Зарегистрирован:
2005-12-12
Сообщений: 576

Хоть и не имею отношения к техподдержке, но следую хорошему совету.

Не парься, парень! большая улыбка

Разработка сайтов на Netcat с 2006... хм-м ... или 2005 хммм года. В общем, обращайтесь.
15.03.2011, 17:33
iprus

Зарегистрирован:
2008-10-07
Сообщений: 73

Цитата:
Хоть и не имею отношения к техподдержке, но следую хорошему совету.

Не парься, парень! большая улыбка

Да-а-а, Вы бы видели как мне приходится извращаться приплясывая с бубном, чтобы обойти ограничения и добиться нужного функционала, учитывая что я не программист в чистом виде улыбка
198 196 2011-03-15 17:33:26 11046
Страницы: 1  |  2
Описание проекта