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

Рекламная сеть

fozzy

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

#11 BLIK

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

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

@Вячеслав,Не увидел что код закомментирован.

 

И вообще, у меня по дефолту код начинается по другому, возможно подправить сам код.

RewriteEngine On

ТУТ МОЙ ДРУГОЙ РЕДИРЕКТ СТОЯЛ

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

# END WordPress 

Я вверху написал где мой редирект на админку стоял.

 

И вы обратите внимание как у вас код начинается.

 

Попробуйте все лишнее убрать из файла, а не комментировать.


  • 0


#12 Вячеслав

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

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

@ShowPrint, очистил но все равно перекидывает только на ссылку без index.php дальше все, тупик! 

@BLIK, вот сейчас такой .htaccess ( и кеш почистил, и даже в другом браузере попробовал)

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/

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Все равно в итоге получаю в адресной строке , просто без index.php

http://www.shtrihcod.ru/?option=com_content&view=category&layout=blog&id=43&Itemid=27

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

  • 0

#13 ShowPrint

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

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

@Вячеслав, а в правило дописать index.php пробовал?

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

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


#14 BLIK

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

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

@Вячеслав, Ну попробуй дописать как выше посоветовали, а так же убрать(не комментировать а убрать) wordpress код и посмотреть что будет.


  • 0


#15 miketomlin

miketomlin
  • Пользователь
  • 272 сообщений
  • Репутация: 41

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

@Вячеслав, чтобы нормально перенаправлять адреса, начинающиеся с /index.php, вам нужно использовать условие с THE_REQUEST (предпочтительный вариант) или переименовать файл фронта WP (index.php). А у WP какая адресация используется? По-хорошему лучше делать полную перелинковку, а не лить все на главную, тем более, что прежний контент сохранился, насколько я понимаю.


  • 0

#16 Вячеслав

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

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

RewriteEngine On
Redirect 301 /index.php?option=com_content&view=frontpage&Itemid=93 http://www.site.ru/index.php
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/

Вот так сейчас, но все равно получаю переадресацию просто на без Index.php

 

 

@miketomlin, так я и пытаюсь делать перелинковку, это просто три ссылки для тестирования, их намного больше будет. А как использовать  THE_REQUEST ?


  • 0

#17 ShowPrint

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

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

@Вячеслав, упомянутые @miketomlin условия REQUEST проверяют и разбирают урл, позволяя потом его части использовать в виде переменных при составлении правил переадресации. Например кусок моего htaccess отвечающий за переадресацию с index.php на морду без него (обратная вашей ситуация, просто для понимания как использовать THE_REQUEST)

# Редирект с index.php на корень сайта
RewriteCond %{REQUEST_METHOD} =GET
RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
RewriteRule ^(.*)$ %1/ [R=301,L]

# Убираем повторяющиеся слеши в URL
RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]

О THE_REQUEST можно почитать здесь, или здесь (простынь). С непривычки можно получить разрыв мозга, но когда я настраивал свой htaccess - дня за три более/менее разобрался, даже сам писал какие-то правила, которых не нашел и инете. Сейчас уж подзабыл (((

Надеюсь @miketomlin поможет и подскажет, из моих наблюдений у него с htaccess дружеские взаимоотношения  :rolleyes:


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


#18 miketomlin

miketomlin
  • Пользователь
  • 272 сообщений
  • Репутация: 41

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

Как вариант:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php

Если ссылок много, перелинковку лучше делать в отдельном скрипте.


  • 0

#19 miketomlin

miketomlin
  • Пользователь
  • 272 сообщений
  • Репутация: 41

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

из моих наблюдений у него с htaccess дружеские взаимоотношения :rolleyes:

Угу, глаза б мои его не видели! :) В наших сайтах если он и используется, то по минимуму.


Сообщение отредактировал miketomlin: 06 Октябрь 2016 - 23:37

  • 1

#20 miketomlin

miketomlin
  • Пользователь
  • 272 сообщений
  • Репутация: 41

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

Вот типичный вариант для обычных сайтов, не связанных с парковкой, перелинковкой и т.п.:

http://searchengines...8&postcount=269

 

Кстати, в нескольких подряд идущих редиректах нет ничего плохого, но конечно лучше стремиться к их сокращению. В показанном файле есть пример оптимизации по кол-ву редиректов (редиректы с www-поддомена и трэйлинг-слеша или множественных трэйлинг-слешей в пути собраны в один). Но есть еще фильтр внутри кода движков. Плюс возможен редирект в коде разраба. Получается максимум три редиректа, если первое обращение было сделано к сайту. Поисковики это хавают.

 

P.S. Для парковки, перелинковки и т.п. обычно еще проще.


Сообщение отредактировал miketomlin: 07 Октябрь 2016 - 00:03

  • 0

robot

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


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