Регистрация
Вход через соцсети
Восстановление пароля

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

Новый топик
Страницы: 1  |  2
19.02.2011, 20:22
Ответить | Цитировать
iprus

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

Кто-нибудь придумал как писать на NetCat свои рабочие RewriteRule без правки e404.php? Или поддержка NetCat может раз и навсегда расскажет как обходить их обработчик. Весь инет перекопал, этот вопрос у многих, но он по прежнему не решаем. Сам не в состоянии пока разобраться, опыта нет.
Как-то совсем грустно без возможности делать собственные ЧПУ.
19.02.2011, 22:20
Ответить | Цитировать
Denis
Denis

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

Пример правил, открывающий профиль пользователя ( /profile/profile_3.html ) по ссылкам вида: /id3
Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^id([0-9]+)$ /netcat/require/e404.php?REQUEST_URI=/profile/profile_$1.html [L,QSA]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ /netcat/require/e404.php?REQUEST_URI=$1 [L,QSA]


Ксю доставляет...
20.02.2011, 16:05
Ответить | Цитировать
iprus

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

Профайлы пользователей нормально итак реализованы через создание раздела без писанины в .htaccess.
Лично я под профайлы создал раздел users с компонентом user и получилось /users/user_ID.html, а закрытые подразделы профайлов (личного кабинета) пользователей у меня разбиты параметром cat под разные запросы (сам дописал), т.е. ...html?cat=1, ...html?cat=2, ...html?cat=3 и т.д.

Но мне нужно сейчас решить по тегам.
Попробовал по Вашему примеру так (привожу только среднюю строчку):
RewriteRule ^tags/?tag=$1 /netcat/require/e404.php?REQUEST_URI=/tags/tag_([0-9]+)\.html [L,QSA]
Методом тыка еще по всякому перепробовал (слэши убирал, переворачивал и т.п.).
Но не заработало, всегда страница не найдена.

Для страниц тегов урлы вида /?tag=ID не серьезно как-то, если думать о se-оптимизации.
21.02.2011, 13:00
Ответить | Цитировать
iprus

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

Denis, что не так я выше в коде htaccess написал?
21.02.2011, 14:20
Ответить | Цитировать
Asiat
Аниматика
Asiat

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

Цитата:
RewriteRule ^tags/?tag=$1 /netcat/require/e404.php?REQUEST_URI=/tags/tag_([0-9]+).html [L,QSA]

посмотрите пример выше, вы ж все перековеркали наоборот ..

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

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

Я делал и как выше и по всякому, о чем выше уже писал "...Методом тыка еще по всякому перепробовал (слэши убирал, переворачивал и т.п.)..."
Строки до и после моей строки я выше не привел, чтобы не повторять. Суть-то в правильности написания средней строки.

Никак не работает.

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

Вот так в моем случае (для тегов) верно или нет (на основе примера Denis)?

Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^tags/?tag=$1 /netcat/require/e404.php?REQUEST_URI=/tags/tag_([0-9]+)\.html [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ /netcat/require/e404.php?REQUEST_URI=$1 [L,QSA]

Не работает.
Поправьте пожалуйста что не так.
21.02.2011, 16:24
Ответить | Цитировать
iprus

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

Кто-нибудь ответьте пожалуйста раз уж и навсегда как преобразовывать в NetCat урлы из типа таких /?param=... в ЧПУ типа /param_...html, а то пичкают какими-то нерабочими примерами. Или что это доказано невозможно, только честно.
Проверил то что предложил с профайлами выше Denis - не работает.
22.02.2011, 15:15
Ответить | Цитировать
Denis
Denis

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

Правила пишутся наоборот: "откуда - куда"
С примером, который я привел выше ( с профайлами пользователей ) - все просто, там нет 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'];

Ксю доставляет...
22.02.2011, 15:19
Ответить | Цитировать
Denis
Denis

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

Пример в профайлами рабочий, кстати, может у вас mod_rewite нет, или нет нуда пишите или настоящий адрес до пользователя не такой /profile/profile_x.html

Ксю доставляет...
24.02.2011, 15:17
Ответить | Цитировать
iprus

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

Цитата:
Пример в профайлами рабочий, кстати, может у вас mod_rewite нет, или нет нуда пишите или настоящий адрес до пользователя не такой /profile/profile_x.html

mod_rewite есть, на других-то рядом самописных сайтах он работает.
У меня до пользователей адреса /users/user_x.html Это я просто раздел создал users (ключевое слово) с компонентом user (ключевое слово) и получились такие адреса, ничего в htaccess дополнительно не писал.
По вашему примеру я наверное не понял зачем он, для чего и как им пользоваться.

Вы просто и конкретно пожалуйста ответьте как в NetCat средствами хотя бы htaccess (mod_rewite) сделать из такого урла: /tags/tag=x такой: /tags/tag_x.html (без редиректа) и вопрос навсегда будет исчерпан улыбка
Или это абсолютно никак невозможно не переписывая e404.php?
24.02.2011, 16:37
Ответить | Цитировать
Denis
Denis

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

Цитата:

Вы просто и конкретно пожалуйста ответьте как в NetCat средствами хотя бы htaccess (mod_rewite) сделать из такого урла: /tags/tag=x такой: /tags/tag_x.html (без редиректа) и вопрос навсегда будет исчерпан улыбка
Или это абсолютно никак невозможно не переписывая e404.php?


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

Ксю доставляет...
198 196 2011-03-15 17:33:26 11046
Страницы: 1  |  2
Описание проекта