тогда у них смотрите http://nginx.org/ru/docs/http/ngx_http_core_module.html#error_page
попробуйте вот так
RewriteCond %{QUERY_STRING} ^f=[0-9]&t=[0-9]p=[0-9]
RewriteRule ^.*$ http://domen.ru/? [R=301,L]---------- Добавлено 26.03.2017 в 07:32 ----------
Это как? То есть страницы, которые отдают 404 ошибку?
RewriteEngine on
ErrorDocument 404 /index.php
ErrorDocument 404 http://ваш-сайт/---------- Добавлено 26.03.2017 в 07:47 ----------
Я делал редирект с 28тыс. линков на 20 линков (20 страниц), картинки шли по тематикам, в моем случае все картинки из темы "ремонт квартир" редиректом отправил на новую страницу "ремонт квартир" и так далее. В моем случае я делал реконструкцию сайта+переезд на https.
Я делал редирект старых страниц на новые с https и только потом уже саму старую главную страницу на новую главную с https.
Пример из .htaccess
#Картинки
RewriteEngine On
RewriteCond %{QUERY_STRING} ^tmpl=component&phocaslideshow=[0-9]
RewriteRule ^.*$ https://новый сайт/нужная страница/? [R=301,L]
#Вся галерея "ремонт ванной" на новую страницу "ремонт ванной"
RewriteRule /remont-vann-photo/ https://новый сайт/нужная страница/ [L,R=301]
#Главная на главную с https
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} =/
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]---------- Добавлено 26.03.2017 в 08:24 ----------
site.ru/nabor-simvolov/nazvanie.html
site.ru/arhiv/nazvanie.html
rok|primer|kot|polet
?! Может быть как-то так
RewriteCond %{REQUEST_URI} !^(/rok|/primer|/kot|/polet).*
RedirectMatch 301 ^/([A-Za-z0-9-]+)/(.*) /arhiv/$1
Или по отдельности
RewriteCond %{REQUEST_URI} !^/rok.*
RedirectMatch 301 ^/nabor-simvolov/(.*) /arhiv/$1---------- Добавлено 26.03.2017 в 08:36 ----------
RewriteRule ^forum/ / [L,R=301]
RewriteRule ^tag/ / [L,R=301]
В первом варианте у вас гет запрос, и он цепляется на главную, во втором статичный адрес и редирект идет
Возможно сработает так
#Редирект форума на главную
RewriteCond %{QUERY_STRING} ^topic=([\d+\.\d+])$ [NC]
RewriteRule ^.*$ http://site.ru/? [R=301,L]
RewriteRule /forum/ http://site.ru/ [L,R=301]
Или может вот так
RewriteCond %{QUERY_STRING} ^topic=([0-9].[0-9])$ [NC]
Решил проблему так:
#Ошибки
ErrorDocument 404 /404/
#Убираем параметры из УРЛ
#%D0%90 - %D0%AF это закодированные символы А - Я, %D0%81 - Ё
#я - %D1%8F а - %D0%B0 ё - % D1% 91
#Верхний регистр+цифры и знаки
RewriteCond %{REQUEST_URI} !^/administrator.*
RewriteCond %{QUERY_STRING} ^%D0%([9A].)|(81)([0-9-]+)=%D0%([9A].)|(81)([0-9-]+)
RewriteRule ^.*$ - [R=404,L,NC]
#Нижний регистр + цифры и знаки
RewriteCond %{QUERY_STRING} ^%D[01]%([B8].)|(91)([0-9-]+)=%D[01]%([B8].)|(91)([0-9-]+)
#Латиница
RewriteCond %{QUERY_STRING} ^([A-Za-z0-9-]+)=([A-Za-z0-9-]+)
RewriteCond %{QUERY_STRING} ^([A-Za-z0-9-]+)
Ответ сервера HTTP/1.1 404 Not Found
А для пользователя страница ошибки.
В .htaccess прописал правило для обработки гет-параметров для кирилицы, во всех браузерах работает, а в IE никак не хочет!
Вот пример из .htaccess
RewriteRule ^.*$ Страница 404? [R=301,L]
То есть, если к примеру набрать адрес https://www.igorian-cg.com/prajs/?Запрос=запрос
то меня выкинет на 404.
Как сделать, чтоб работало в IE
По второму варианту получается, если я в вебмастер добавлю сайт с https, то пойдет новая индексация, а если робот приходит на старые страницы, то ему 301 редирект на новые и уже с https.
Вроде при таком варианте не должно быть сильных провалов в выдаче.
В понедельник буду шаманить - потом отпишусь как прошло.
Привет!
А если домен остается прежним? Но меняется структура сайта+переход на HTTPS
Как правильно сделать редиректы? Сперва с http на https весь сайт, а потом с https: //домен/старая-страница на https: //домен/новая-страница?
или просто все страницы http: //домен/старая-страница на https: //домен/новая-страница
как сделать правильно?