sivrem

sivrem
Рейтинг
1
Регистрация
24.02.2017
RA2:
Я не зря ведь подчеркнул NGINX, я надеюсь,вы в курсе что это? а не тупо берете с гугла все подряд!

По теме, нигде не нашел рабочего варианта 301 редиректа по 404 ошибке на морду, ребят не ужели никто не знает? )

тогда у них смотрите http://nginx.org/ru/docs/http/ngx_http_core_module.html#error_page

alexandr1840:
Подскажите пожалуйста, как сделать редирект на главную с http://domen.ru/phpBB3/viewtopic.php?f=3&t=13371&p=17570 и с http://domen.ru/phpBB3/viewtopic.php?f=3&t=13394&p=17439

Возникает проблема из за того что несколько get заподряд

попробуйте вот так

RewriteCond %{QUERY_STRING} ^f=[0-9]&t=[0-9]p=[0-9]

RewriteRule ^.*$ http://domen.ru/? [R=301,L]

---------- Добавлено 26.03.2017 в 07:32 ----------

RA2:
Ребята прошу помощи, кто знает как в NGINX сделать 301 редирект с любых не существующих страниц на главную? спасибо!

Это как? То есть страницы, которые отдают 404 ошибку?

RewriteEngine on

ErrorDocument 404 /index.php

RewriteEngine on

ErrorDocument 404 http://ваш-сайт/

---------- Добавлено 26.03.2017 в 07:47 ----------

nichy:
Привет, уважаемые форумчане!

Готовлюсь к редизайну и реструктуризации сайта. Есть несколько вопросов, помогите пожалуйста ))

План токов: поделю старые страницы на 2 части: с аналогами на новом сайте и без. Для тех с аналогами, буду делать редирект 301, а для тех без, редирект будет на главную.
Так же есть непонятная ситуация. У нас на сайте 463 страницы. А Frog Seo Spider показевает что их 4000. Т.е. каждую картику или кокой небудь другой ресурс он видет как одельный линк, а соответственно, одельную странцу.

Вопросы>

1. Правильный ли вообще план?

2. Если на старом сайте есть несколько страниц, которые я хочу соеденить в одну, на новом сайте. Когда будет происходить редирект с 3 страних на одну, это ок?

3. Что делать со всеми этими "псевдо-страницами": 6000-463= 5537 линков. Для них тоже редирект на главную?

Может совет, на что еще обратить внимание?

Я делал редирект с 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

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

RewriteCond %{REQUEST_URI} =/

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

---------- Добавлено 26.03.2017 в 08:24 ----------

Xaron:
Такая проблема. Нужно сделать редирект по условию

site.ru/nabor-simvolov/nazvanie.html


на

site.ru/arhiv/nazvanie.html


При этом нужно, чтобы редирект не срабатывал для нескольких категорий, названия которых заранее известны:
rok|primer|kot|polet


Все остальные категории должно перенаправлять в архив.

?! Может быть как-то так

RewriteEngine On

RewriteCond %{REQUEST_URI} !^(/rok|/primer|/kot|/polet).*

RedirectMatch 301 ^/([A-Za-z0-9-]+)/(.*) /arhiv/$1

Или по отдельности

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/rok.*

RedirectMatch 301 ^/nabor-simvolov/(.*) /arhiv/$1

---------- Добавлено 26.03.2017 в 08:36 ----------

=MaximaN=:
Доброго здоровья.

Помогите, пожалуйста.

Исходные данные:

1. Есть сайт site.ru
2. Был форум SMF в папке site.ru/forum/
3. Форум удалил

Как корректно настроить редирект на главную сайта?

Прописал в htaccess:

RewriteRule ^forum/ / [L,R=301]


Имею:

Ссылка вида
http://site.ru/forum/?topic=32.3150

редиректится на

http://site.ru/?topic=32.3150

Хотелось бы без этого хвоста "?topic=32.3150"

------
Хотя, например, ссылка вида:
http://site.ru/tag/беспроводной микронаушник

С записью в htaccess:

RewriteRule ^tag/ / [L,R=301]


редиректится на главную корректно, без хвоста.

В первом варианте у вас гет запрос, и он цепляется на главную, во втором статичный адрес и редирект идет

Возможно сработает так

#Редирект форума на главную

RewriteEngine On

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]

RewriteRule ^.*$ http://site.ru/? [R=301,L]

sivrem:
В .htaccess прописал правило для обработки гет-параметров для кирилицы, во всех браузерах работает, а в IE никак не хочет!

Вот пример из .htaccess
#Верхний регистр+цифры и знаки
RewriteCond %{REQUEST_URI} !^/administrator.*
RewriteCond %{QUERY_STRING} ^%D0%([9A].)|(81)([0-9-]+)=%D0%([9A].)|(81)([0-9-]+)
RewriteRule ^.*$ Страница 404? [R=301,L]

#Нижний регистр + цифры и знаки
RewriteCond %{REQUEST_URI} !^/administrator.*
RewriteCond %{QUERY_STRING} ^%D[01]%([B8].)|(91)([0-9-]+)=%D[01]%([B8].)|(91)([0-9-]+)
RewriteRule ^.*$ Страница 404? [R=301,L]

То есть, если к примеру набрать адрес https://www.igorian-cg.com/prajs/?Запрос=запрос
то меня выкинет на 404.

Как сделать, чтоб работало в IE

Решил проблему так:

#Ошибки

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 %{REQUEST_URI} !^/administrator.*

RewriteCond %{QUERY_STRING} ^%D[01]%([B8].)|(91)([0-9-]+)=%D[01]%([B8].)|(91)([0-9-]+)

RewriteRule ^.*$ - [R=404,L,NC]

#Латиница

RewriteCond %{REQUEST_URI} !^/administrator.*

RewriteCond %{QUERY_STRING} ^([A-Za-z0-9-]+)=([A-Za-z0-9-]+)

RewriteRule ^.*$ - [R=404,L,NC]

#Латиница

RewriteCond %{REQUEST_URI} !^/administrator.*

RewriteCond %{QUERY_STRING} ^([A-Za-z0-9-]+)

RewriteRule ^.*$ - [R=404,L,NC]

Ответ сервера HTTP/1.1 404 Not Found

А для пользователя страница ошибки.

В .htaccess прописал правило для обработки гет-параметров для кирилицы, во всех браузерах работает, а в IE никак не хочет!

Вот пример из .htaccess

#Верхний регистр+цифры и знаки

RewriteCond %{REQUEST_URI} !^/administrator.*

RewriteCond %{QUERY_STRING} ^%D0%([9A].)|(81)([0-9-]+)=%D0%([9A].)|(81)([0-9-]+)

RewriteRule ^.*$ Страница 404? [R=301,L]

#Нижний регистр + цифры и знаки

RewriteCond %{REQUEST_URI} !^/administrator.*

RewriteCond %{QUERY_STRING} ^%D[01]%([B8].)|(91)([0-9-]+)=%D[01]%([B8].)|(91)([0-9-]+)

RewriteRule ^.*$ Страница 404? [R=301,L]

То есть, если к примеру набрать адрес https://www.igorian-cg.com/prajs/?Запрос=запрос

то меня выкинет на 404.

Как сделать, чтоб работало в IE

По второму варианту получается, если я в вебмастер добавлю сайт с https, то пойдет новая индексация, а если робот приходит на старые страницы, то ему 301 редирект на новые и уже с https.

Вроде при таком варианте не должно быть сильных провалов в выдаче.

В понедельник буду шаманить - потом отпишусь как прошло.

Привет!

А если домен остается прежним? Но меняется структура сайта+переход на HTTPS

Как правильно сделать редиректы? Сперва с http на https весь сайт, а потом с https: //домен/старая-страница на https: //домен/новая-страница?

или просто все страницы http: //домен/старая-страница на https: //домен/новая-страница

как сделать правильно?