|
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?
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]
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
Копия темы
0
Благодарю за поиски решений, но вот что получается на выходе: test1.ru/uslugi.html работает test1.ru/company/news.html работает test1.ru/product/alum-konstr.html не работает test1.ru/company/news/day-20100412.html не работает |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |