Поисковая форма:) поиск по free-lance.ru Топ/история/обновления фриланса, по разным параметрам (темы, сообщения, пользователи...) Автоматическое удаление постов от ненужных юзеров в топике (php скрипт) Досье(точный ник)
 

Ник (или часть ника):
?
Какой текст ищем:
?
Раздел блогов:
За срок
дней
Тип поиска: (по вхождению: по тексту гуг выдаст посты с "гуг", "гугл", "огугл"; "полнотекстовый": по тексту "гуг" выдаст посты только с "гуг")
По вхождению строки:  Полнотекстовый: 
(поиск не 100% актуальный, есть определённая задержка при обновлении данных для поиска. )
0 Всего найдено: 15
NeedYourHelp Сообщение 02/05/2010 12:35 Копия темы
Помощь с htaccess mod_rewrite Есть сайт, URL у него задаются так

- test1.ru/index.php?page=company
- test1.ru/index.php?page=company-test
- test1.ru/index.php?page=company/news
- test1.ru/index.php?page=company/news-test
- test1.ru/index.php?page=company/news&day=2010 0412
- test1.ru/index.php?page=company/articles&art= test
- test1.ru/index.php?page=company/articles&art= my-te st
- test1.ru/index.php?page=company/articles-qaz& art=t est
- test1.ru/index.php?page=company/articles-qaz& art=m y-test

Используя Rewrite Rule должно работать так

- test1.ru/company.html
- test1.ru/company-test.html
- test1.ru/company/news.html
- test1.ru/company/news-test.html
- test1.ru/company/news/day-20100412.html
- test1.ru/company/articles/art-test.html
- test1.ru/company/articles/art-my-test.html
- test1.ru/company/articles-qaz/art-test.html
- test1.ru/company/articles-qaz/art-my-test.htm l

Есть правило, но работает только для первых 5-х строк:

RewriteRule ^([a-z/]+)[/-]([a-z]+)-([0-9]+)\.html index.php?page=$1&$2=$3 [L]

Как сделать чтобы корректно обрабатывались и остальные 4?
siones Сообщение 02/05/2010 12:44 Копия темы
NeedYourHelp Сообщение 02/05/2010 12:46 Копия темы
siones Сообщение 02/05/2010 12:47 Копия темы
NeedYourHelp Сообщение 02/05/2010 12:48 Копия темы
RiDDi Сообщение 02/05/2010 12:55 Копия темы
а почему должно работать-то?

test1.ru/company/articles/art-test.html

([a-z]+)-([0-9]+)

вы ищите циферки, а там букавки
RiDDi Сообщение 02/05/2010 12:57 Копия темы
RewriteRule ^([a-z/]+)[/-]([a-z]+)-([a-z0-9\-]+)\.html index.php?page=$1&$2=$3 [L]
siones Сообщение 02/05/2010 12:59 Копия темы
NeedYourHelp Сообщение 02/05/2010 13:01 Копия темы
Я так примерно пробовал, но теперь это не работает
- test1.ru/contacts/e-mail.html
- test1.ru/index.php?page=contacts/e-mail
RiDDi Сообщение 02/05/2010 13:06 Копия темы
да у вас вообще как-то странно )) у вас же два слеша до переменных динамических, тогда два и указывать надо
попробуйте как-то так:
RewriteRule ^([a-z/]+)[/-]([a-z\-]+)[/-]([a-z]+)-([a-z0-9 \-]+)\.html index.php?page=$1&$2=$3 [L]
RiDDi Сообщение 02/05/2010 13:10 Копия темы
и вместо [/-] просто /

в общем смотрите – в круглых скобках группируется то, что попадает в переменные $1, $2 и т.д.
в квадратных – классы символов маски – те, что должны присутствовать. + значит в любом колличестве

вот и подстраивайте под вашу логику исходя из этого
NeedYourHelp Сообщение 02/05/2010 13:11 Копия темы
test1.ru/contacts/e-mail.html – снова заработало
но перестало работать это – test1.ru/company/news-day-20100412.html
и это так и не заработало – test1.ru/articles/plast-okna/art-2.html :)
RiDDi Сообщение 02/05/2010 13:32 Копия темы
разбивайте на последовательные условия


# сначала ищем где два слеша и потом переменные
RewriteRule ^([a-z]+)/([a-z\-]+)/([a-z]+)-([a-z0-9\-]+)\. html index.php?page=$1&$2=$3 [L]
# потом где в переменных дефис
RewriteRule ^([a-z]+)/([a-z\-]+)-([a-z]+)-([a-z0-9\-]+)\. html index.php?page=$1&$2=$3 [L]
# и наконец все остальное
RewriteRule ^([a-z/]+)[/-]([a-z]+)-([a-z0-9\-]+)\.html index.php?page=$1&$2=$3 [L]

помните, что каждое условие объединено [L] – то есть что первое найдется, то и будет результат
NeedYourHelp Сообщение 02/05/2010 13:39 Копия темы
Благодарю за поиски решений, но вот что получается на выходе:

test1.ru/uslugi.html – работает
test1.ru/company/news.html – работает
test1.ru/product/alum-konstr.html – не работает
test1.ru/company/news/day-20100412.html – не работает
NeedYourHelp Сообщение 02/05/2010 16:16 Копия темы
Тема еще актуальна
0

©2008 edogs egods
Выразить восторг, поругаться
или предложить что-нибудь можно на форуме
Для обсуждения этого сервиса так же есть темы на фрилансе по
поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал"