Изменить вид ссылки

SocMaster

Профессор
Регистрация
26 Июл 2011
Сообщения
211
Реакции
49
Ребят есть вот такой урл /f-audi-80/tehnicheskaja-literatura-1711-1.html?filter=typeid&typeid=142 (естественно все динамическое)
Можно как то спрятать вот это фиговину ?filter=typeid&typeid=142 ?
 
а так откроется страница /f-audi-80/tehnicheskaja-literatura-1711-1.html ?
Если да, то сделай так (это зарежет всё после знака вопроса, если там присутствует пара чтоугодно=чтоугодно )
Код:
RewriteCond %{QUERY_STRING} (.*)=(.*) [NC]
RewriteRule (.*) http://your-site.com.ua/$1? [R=301,L]
Если страница без параметров не открывается, то параметры нужно прятать в адрес (делать ссылку вида /f-audi-80/tehnicheskaja-literatura-1711-1/typeid/142.html), что, в принципе, тоже не сложно...
 
а так откроется страница /f-audi-80/tehnicheskaja-literatura-1711-1.html ?
Если да, то сделай так (это зарежет всё после знака вопроса, если там присутствует пара чтоугодно=чтоугодно )
Код:
RewriteCond %{QUERY_STRING} (.*)=(.*) [NC]
RewriteRule (.*) http://your-site.com.ua/$1? [R=301,L]
Если страница без параметров не открывается, то параметры нужно прятать в адрес (делать ссылку вида /f-audi-80/tehnicheskaja-literatura-1711-1/typeid/142.html), что, в принципе, тоже не сложно...
Подскажите как спрятать в адрес
 
Подскажите как спрятать в адрес
Если мне не изменяет память - потесть такое:
Код:
RewriteCond %{QUERY_STRING} filter=[a-zA-z]+&typeid=[0-9]+
RewriteRule (.*)\.html http://your-site.com.ua/$1/%1/%2? [R=301,L]
RewriteCond %{REQUEST_URI} .*/.*/[a-zA-z]+/[0-9]+
RewriteRule (.*)/(.*)/([a-zA-z]+)/([0-9]+) http://your-site.com.ua/$1/$2?filter=$3&typeid=$4 [QSA,L]
Работать будет только если ссылки второго уровня и более (второй уровень должен работать корректно, выше второго уровня может работать некорректно. Для корректной настройки нужно видеть сайт в личке, либо знать какого вида могут быть ссылки на всём сайте).
 
Если мне не изменяет память - потесть такое:
Код:
RewriteCond %{QUERY_STRING} filter=[a-zA-z]+&typeid=[0-9]+
RewriteRule (.*)\.html http://your-site.com.ua/$1/%1/%2? [R=301,L]
RewriteCond %{REQUEST_URI} .*/.*/[a-zA-z]+/[0-9]+
RewriteRule (.*)/(.*)/([a-zA-z]+)/([0-9]+) http://your-site.com.ua/$1/$2?filter=$3&typeid=$4 [QSA,L]
Работать будет только если ссылки второго уровня и более (второй уровень должен работать корректно, выше второго уровня может работать некорректно. Для корректной настройки нужно видеть сайт в личке, либо знать какого вида могут быть ссылки на всём сайте).
Активно используем поддомены(
 
Активно используем поддомены(
с поддоменами проблем не будет, могут быть проблемы с уровнями вложенности ссылок более двух... Я же не знаю какие там ссылки на сайте бывают, можно ведь и поточнее правило написать...

Кстати я там в коде немного натупил и работать как надо не будет, вот исправленная версия:
Код:
RewriteCond %{QUERY_STRING} filter=([a-zA-Z0-9-_]+)&typeid=([0-9-_]+)
RewriteRule (.*).html http://your-site.com.ua/$1/%1/%2.html? [R=301,L]
RewriteCond %{REQUEST_URI} .*/.*/[a-zA-Z0-9-_]+/[0-9-_]+.html
RewriteRule (.*)/(.*)/([a-zA-Z0-9-_]+)/([0-9-_]+).html http://your-site.com.ua/$1/$2.html?filter=$3&typeid=$4 [QSA,L]
Так должно работать... А если нужно более норм правила с минимумом багов - покаж сайт в личку... И содержание .htaccess
 
Последнее редактирование:
с поддоменами проблем не будет, могут быть проблемы с уровнями вложенности ссылок более двух... Я же не знаю какие там ссылки на сайте бывают, можно ведь и поточнее правило написать...

Кстати я там в коде немного натупил и работать как надо не будет, вот исправленная версия:
Код:
RewriteCond %{QUERY_STRING} filter=([a-zA-Z0-9-_]+)&typeid=([0-9-_]+)
RewriteRule (.*).html http://your-site.com.ua/$1/%1/%2.html? [R=301,L]
RewriteCond %{REQUEST_URI} .*/.*/[a-zA-Z0-9-_]+/[0-9-_]+.html
RewriteRule (.*)/(.*)/([a-zA-Z0-9-_]+)/([0-9-_]+).html http://your-site.com.ua/$1/$2.html?filter=$3&typeid=$4 [QSA,L]
Так должно работать... А если нужно более норм правила с минимумом багов - покаж сайт в личку... И содержание .htaccess
На этой странице обнаружена циклическая переадресация

А как будет работать на поддоменах если вот явно указано
Для просмотра ссылки Войди или Зарегистрируйся [QSA,L]
без поддомена?
Дальше ссылки что есть нет ничего, это просто вызвать сортировку на странице и все.
Только все страницы на поддоменах, например audi.site.com
 
убери
Код:
http://your-site.com.ua
Для просмотра ссылки Войди или Зарегистрируйся
оставь Для просмотра ссылки Войди или ЗарегистрируйсяПросто разные сервера по разному работают. Некоторые норм, некоторым нужно указывать домен явно...

Вначале файла после RewriteEngine on стоит RewriteBase / ?
Что-то я не нахожу у себя циклической переадрессации... Другие правила в htaccess присутствуют? Может моё конфликтует...
Попробуй
Код:
RewriteCond %{QUERY_STRING} filter=([a-z]+)&typeid=([0-9]+)
RewriteRule (.*).html /$1/%1/%2.html? [R=301,L]
RewriteCond %{REQUEST_URI} .*/.*/[a-z]+/[0-9]+.html
RewriteRule (.*)/(.*)/([a-z]+)/([0-9]+).html /$1/$2.html?filter=$3&typeid=$4 [QSA,L]
 
Последнее редактирование:
Стоит..
Все равно ошибка...на новую страницу кидает, а дальше ошибка, удалял все правила кроме этих, все равно ошибка
 
Стоит..
Все равно ошибка...на новую страницу кидает, а дальше ошибка, удалял все правила кроме этих, все равно ошибка
Новая страница выглядит так: /f-audi-80/tehnicheskaja-literatura-1711-1/typeid/142.html ?
 
Назад
Сверху