Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Помогите настроить редирект 301

#1 Вячеслав

Вячеслав
  • Пользователь
  • 357 сообщений
  • Репутация: 0
0

Отправлено 05 Октябрь 2016 - 16:30

Здравствуйте! Ситуация такая - сайт был на джумле, потом его перенесли на WP, но в ПС остались старые ссылки вида:

 

http://www.site.ru/i...tpage&Itemid=93

 

 

Вопрос как в .htacces от WP прописать правильно редирект 301, что бы он был только один, а не два последовательных?

HTTP/1.1 301 Moved Permanently
Server: nginx/1.6.2
Date: Wed, 05 Oct 2016 13:32:02 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.5.30
X-Pingback: http://www.shtrihcod.ru/xmlrpc.php
Location: http://www.shtrihcod.ru/?option=com_content&view=category&layout=blog&id=43&Itemid=95

HTTP/1.1 301 Moved Permanently
Server: nginx/1.6.2
Date: Wed, 05 Oct 2016 13:32:02 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
X-Powered-By: PHP/5.5.30
Location: /?option=com_content&view=category&layout=blog&id=43&Itemid=27

HTTP/1.1 301 Moved Permanently
Server: nginx/1.6.2
Date: Wed, 05 Oct 2016 13:32:02 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
X-Powered-By: PHP/5.5.30
Location: http://www.shtrihcod.ru/chto-takoe-shtrihkod/

HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Wed, 05 Oct 2016 13:32:06 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.5.30
Link: <http://www.shtrihcod.ru/wp-json/>; rel="https://api.w.org/"
Link: <http://www.shtrihcod.ru/?p=15>; rel=shortlink

Сейчас редиректит с той ссылки на без index.php, вот сюда:

http://www.site.ru/?option=com_content&view=frontpage&Itemid=93

а потом уже на нуждый мне адрес:

http://www.site.ru/

Это код из .htaccess

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

Redirect 301 /index.php?option=com_content&view=frontpage&Itemid=93 http://www.site.ru/
Redirect 301 /index.php?option=com_content&view=category&layout=blog&id=43&Itemid=95 http://www.site.ru/chto-takoe-shtrihkod/
Redirect 301 /index.php?option=com_content&view=category&layout=blog&id=43&Itemid=27 http://www.site.ru/chto-takoe-shtrihkod/

RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

А это код и functions.php темы сайта:

$this_url = $_SERVER['REQUEST_URI'];
switch ($this_url){
    case '/?option=com_content&view=frontpage&Itemid=93': 
    	header("HTTP/1.1 301 Moved Permanently"); 
    	header('Location: /');  
    	exit(); 
        break;  
    
    case '/?option=com_content&view=category&layout=blog&id=43&Itemid=95' : 
    	header("HTTP/1.1 301 Moved Permanently"); 
    	header('Location: /?option=com_content&view=category&layout=blog&id=43&Itemid=27');  
    	exit(); 
        break;
}

 

 

Сообщение отредактировал Вячеслав: 05 Октябрь 2016 - 16:37

  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85
Советую обратить внимание на следующее:
  1. Не могу настроить 301-редирект в .htaccess
  2. Помогите настроить редирект
  3. Redirect 301. Как редиректить файлы?
  4. Проблема с 301 редиректом в ссылке присутствует символ #
  5. 301 редирект [полное руководство]

#2 sc2r2bey

sc2r2bey
  • Пользователь
  • 34 сообщений
  • Репутация: 0

Отправлено 05 Октябрь 2016 - 22:59

для wordpress есть много плагинов, как раз реализующих 301 редирект, думаю так будет проще реализовать задуманное переезд


  • 0

#3 Вячеслав

Вячеслав
    Topic Starter
  • Пользователь
  • 357 сообщений
  • Репутация: 0

Отправлено 06 Октябрь 2016 - 04:30

@sc2r2bey, пробовал такой плагин  wp-seo-redirect-301  но не работает он, не перенаправляет... этот тоже Easy 301 Redirects

посоветуйте нормальный плагин, пожалуйста.

 

Но желательно, эти редиректы, просто прописать в .htaccess, как их только правильно прописать чтоб работали не пойму((


Сообщение отредактировал Вячеслав: 06 Октябрь 2016 - 04:38

  • 0

#4 BLIK

BLIK
  • Супермодератор
  • 3 198 сообщений
  • Репутация: 634

Отправлено 06 Октябрь 2016 - 09:25

просто прописать в .htaccess

Попробуй в генераторах htaccess прописать нужное http://www.htaccessredirect.net


  • 1


#5 ShowPrint

ShowPrint
  • Пользователь PRO
  • 1 729 сообщений
  • Репутация: 409

Отправлено 06 Октябрь 2016 - 12:47

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

 

Если моё подозрение верно, то происходить это может по той причине, что для первых трёх редиректов:

Redirect 301 /index.php?option=com_content&view=frontpage&Itemid=93 http://www.site.ru/
Redirect 301 /index.php?option=com_content&view=category&layout=blog&id=43&Itemid=95 http://www.site.ru/chto-takoe-shtrihkod/
Redirect 301 /index.php?option=com_content&view=category&layout=blog&id=43&Itemid=27 http://www.site.ru/chto-takoe-shtrihkod/

не указано никаких условий (RewriteCond) и в конце перенаправлений не отсутствует флаг последней операции ([L]).

 

То есть исходя из логики преобразований, при обращении к урлам последовательно производятся три редиректа в указанном порядке, после чего уже отрабатываются дальнейшие правила с флагом [L] (last-последний)

 

В силу того, что я сам с htaccess "на Вы и с глубоким поклоном", помочь поправить ваш htaccess не возьмусь, могу подсказать только вариант откуда можно попробовать "зайти": где-нибудь нарыть и установить "стандартный" htaccess для WP и потом править его...

 

Либо другой вариант - убирать все существующие редиректы (можно закомментить) и перепрописывать все правила заново, пользуясь генератором подсказанным @BLIK, в комплексе со сборником правил от @r0mZet


Сообщение отредактировал ShowPrint: 06 Октябрь 2016 - 12:48

  • 2
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#6 Вячеслав

Вячеслав
    Topic Starter
  • Пользователь
  • 357 сообщений
  • Репутация: 0

Отправлено 06 Октябрь 2016 - 17:27

@BLIK, сервис сгенерировал точно такое же правило как и у меня было прописано:

//301 Redirect Old File
Redirect 301 /index.php?option=com_content&view=frontpage&Itemid=93 http://www.site.ru/ 

Но осталась проблема, и она в том что вырезается index.php из пути, вот так получается:

http://www.site.ru/index.php?option=com_content&view=frontpage&Itemid=93

перекидывает на :

http://www.site.ru/?option=com_content&view=frontpage&Itemid=93 

bb3c5-clip-134kb.jpg?nocache=1

 

Как сделать что бы не вырезался index.php ?

 

Это полный код .htaccess что сейчас есть на сайте:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On


#RewriteCond %{REQUEST_URI} /index.php?
#RewriteCond %{QUERY_STRING} ^option=com_content&view=frontpage&Itemid=93
#RewriteRule ^.*$ / [R=301,L]


Redirect 301 /index.php?option=com_content&view=frontpage&Itemid=93 http://www.site.ru/
#Redirect 301 /index.php?option=com_content&view=category&layout=blog&id=43&Itemid=95 http://www.site.ru/chto-takoe-shtrihkod/
#Redirect 301 /index.php?option=com_content&view=category&layout=blog&id=43&Itemid=27 http://www.site.ru/chto-takoe-shtrihkod/

#RewriteBase /
#RewriteRule ^index\.php$ - [L]
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Сообщение отредактировал Вячеслав: 06 Октябрь 2016 - 17:35

  • 0

#7 BLIK

BLIK
  • Супермодератор
  • 3 198 сообщений
  • Репутация: 634

Отправлено 06 Октябрь 2016 - 17:42

@Вячеслав
Точно не скажу, но, возможно обратить внимание на код от самого wordpress и попробовать подшаманить над ним.

Я имею виду, этот код

#RewriteBase /
#RewriteRule ^index\.php$ - [L]
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule . /index.php [L]

Вырезает, думаю он.

 

Но все делать на свой страх и риск(убирать или изменять код wordpress), так как не знаю как будет работать без него.


Сообщение отредактировал BLIK: 06 Октябрь 2016 - 17:44

  • 0


#8 ShowPrint

ShowPrint
  • Пользователь PRO
  • 1 729 сообщений
  • Репутация: 409

Отправлено 06 Октябрь 2016 - 17:54

@Вячеслав, по сути остался один рабочий 301-редирект:

Redirect 301 /index.php?option=com_content&view=frontpage&Itemid=93 http://www.site.ru/

который и перенаправляет на 

http://www.site.ru/

без index.php

 

В качестве эксперимента (если это полный htaccess) можно попробовать сделать

Redirect 301 /index.php?option=com_content&view=frontpage&Itemid=93 http://www.site.ru/index.php

Хотя если честно, то не понимаю смысла в наличии index.php, ведь 

и

это полные дубли (по идее)


Сообщение отредактировал ShowPrint: 06 Октябрь 2016 - 17:55

  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#9 Вячеслав

Вячеслав
    Topic Starter
  • Пользователь
  • 357 сообщений
  • Репутация: 0

Отправлено 06 Октябрь 2016 - 18:01

@BLIK, так я его закомментировал, как он может вырезать? 

 

Но даже если я прописываю вот так:

Redirect 301 /?option=com_content&view=frontpage&Itemid=93 http://www.site.ru/
Redirect 301 /?option=com_content&view=category&layout=blog&id=43&Itemid=95 http://www.site.ru/chto-takoe-shtrihkod/
Redirect 301 /?option=com_content&view=category&layout=blog&id=43&Itemid=27 http://www.site.ru/chto-takoe-shtrihkod/

то редирект вообще не срабатывает!!! Почему?


  • 0

#10 ShowPrint

ShowPrint
  • Пользователь PRO
  • 1 729 сообщений
  • Репутация: 409

Отправлено 06 Октябрь 2016 - 18:05

редирект вообще не срабатывает!!! Почему?
вот что навсегда запомню - при работе с htaccess и изменениях в нём нужно обязательно принудительно чистить кеш браузера, Ctrl+F5 в каких-то случаях оставляет htaccess в кеше и вносимые изменения не работают...

 

ЗЫ. Эт так, на всякий случай  :rolleyes:


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru