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


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

Не работает переадресация .htaccess в чем причина?

#1 andrey-mam

andrey-mam
  • Пользователь
  • 5 сообщений
  • Репутация: 0
0

Отправлено 02 Март 2016 - 12:25

Всем доброе время суток! 
Уважаемые знатоки и эксперты, помогите пожалуйста разобраться в необычной ситуации. 
Переделал структуру сайта (сделал более логично и короткие ссылки) но почему-то переходя по старой ссылке, не происходит правильная переадресация, а просто пропадает уровень старой ссылки. (Смотрите более подробно: )

п.с. Пробелы между http:// и site поставлен специально, что ссылка не была активная! 

Раньше ссылка была вот такая : http:// site.ru/uslugi/bmw/tuning-bmw/tuning-bmw-x5-x5m-f15/obsluzhivanie-i-remont-bmw-x5-x5m-f15/
Новая ссылка :                           http:// site.ru/uslugi/remont-bmw/remont-bmw-x5-x5m-f15/

 

Еще пример: 

Раньше ссылка была вот такая : http:// site.ru/uslugi/bmw/tuning-bmw/tuning-bmw-x6-x6m-e71/diski-i-kolesa-bmw-x6-x6m-e71/disk-bmw-x6-stil-310/ 

Новая ссылка :                           http:// site.ru/uslugi/diski-bmw/diski-i-kolesa-bmw-x6-x6m-e71/diski-m-bmw-x6-e71-stil-310/

 

Т.е.
1. пропал уровень /bmw/ 
2. конечная страница принадлежит не модели модели /tuning-bmw-x5-x5m-f15/ или /tuning-bmw-x6-x6m-e71/diski-i-kolesa-bmw-x6-x6m-e71/ , а отдельной странице /remont-bmw/ или /diski-bmw/diski-i-kolesa-bmw-x6-x6m-e71/ 

3. в некоторых случаях изменено название конечной страницы, например было /disk-bmw-x6-stil-310/ стало /diski-m-bmw-x6-e71-stil-310/ 

 

А теперь что происходит когда переходишь по старой ссылке! - Просто пропадает уровень /bmw/ и все! 
т.е. становится вот так : 
http:// site.ru/uslugi/bmw/tuning-bmw/tuning-bmw-x5-x5m-f15/obsluzhivanie-i-remont-bmw-x5-x5m-f15/   >>>> http:// site.ru/uslugi/tuning-bmw/tuning-bmw-x5-x5m-f15/obsluzhivanie-i-remont-bmw-x5-x5m-f15/

http:// site.ru/uslugi/bmw/tuning-bmw/tuning-bmw-x6-x6m-e71/diski-i-kolesa-bmw-x6-x6m-e71/disk-bmw-x6-stil-310/  >>>> http:// site.ru/uslugi/tuning-bmw/tuning-bmw-x6-x6m-e71/diski-i-kolesa-bmw-x6-x6m-e71/disk-bmw-x6-stil-310/ 

 

Тестировалось по разному вдоль и поперек... не пойму в чем причина. 
Помогите пожалуйста если есть представление причины.
Заранее спасибо. 


 

 

Сообщение отредактировал andrey-mam: 02 Март 2016 - 12:28

  • 0

#2 Evgeniy3200

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

Отправлено 02 Март 2016 - 12:48

@andrey-mam, вы сбросьте код, как именно редирект ставили в файле  .htaccess??? скорее всего причина там. 

 

по измененной ссылке старница корректно открывается? 

 

неправильно переадресует именно при попытке открытия старой ссылки?


  • 0

Если вы можете наугад в полной темноте пробраться к собственной кровати, ни разу не ушибившись, значит, пора путешествовать!



#3 ShowPrint

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

Отправлено 02 Март 2016 - 12:55

Если

 

 

Не работает переадресация .htaccess

То надо бы ее здесь указать...

 

При работе с htaccess нельзя забывать что он кешируется в браузере и F5 (также как и Ctrl+F5) его не обновляет - надо после изменений чистить кеш браузера.

Если засада не в этом, то без кода не обойтись...


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


#4 andrey-mam

andrey-mam
    Topic Starter
  • Пользователь
  • 5 сообщений
  • Репутация: 0

Отправлено 02 Март 2016 - 13:22

@Evgeniy3200, Ну как обычно :
Redirect 301 /uslugi/bmw/tuning-bmw/tuning-bmw-x6-x6m-e71/diski-i-kolesa-bmw-x6-x6m-e71/disk-bmw-x6-stil-310/ http:// site.ru/uslugi/diski-bmw/diski-i-kolesa-bmw-x6-x6m-e71/diski-m-bmw-x6-e71-stil-310/
Естественно все ссылки рабочие!
Да, при попытке открыть старый урл. 
Я не совсем далекий )) уже переносил сайт однажды и делал редикрект, но там структура кардинально отличалась, а тут вот так... 
Но те урлы в которых пропал только уровень /bmw/ те нормально себя чувствуют и открываются с переадресацией.
Например : 
Redirect 301 /uslugi/bmw/tuning-bmw/tuning-bmw-x6-x6m-f16/multimedia-i-doosnaschenie-bmw-x6-x6m-f16/ http:// site/uslugi/tuning-bmw/tuning-bmw-x6-x6m-f16/multimedia-i-doosnaschenie-bmw-x6-x6m-f16/

_______________________шапка .htaccess___________________________

DirectoryIndex index.php
 
AddDefaultCharset utf-8
 
# Если NetCat стоит в подпапке, например mysite, то
# ErrorDocument 404 /mysite/netcat/require/e404.php
# в противном случае
ErrorDocument 404 /netcat/require/e404.php
 
Options -Indexes
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
 
<IfModule mod_php5.c>
php_flag magic_quotes_gpc off
php_flag display_errors off
php_value error_reporting 0
php_value arg_separator.output "&amp;"
php_value mbstring.internal_encoding UTF-8
php_value short_open_tag on
</IfModule>
 
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^article/(.+)$ /modules/mod_stats/stat/index.php$1 [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
# Если NetCat стоит в подпапке, например mysite, то
# RewriteRule ^(.+)$ /mysite/netcat/require/e404.php
# в противном случае
RewriteRule ^(.+)$ /netcat/require/e404.php
RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}]
RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}]
</ifModule>
 
RewriteCond %{HTTP_REFERER} ebesucher.com
RewriteRule .? - [F]
RewriteCond %{HTTP_REFERER} ebesucher.de
RewriteRule .? - [F]
RewriteCond %{HTTP_REFERER} ebesucher.ru
RewriteRule .? - [F]
RewriteCond %{HTTP_REFERER} ebesucher.fr
RewriteRule .? - [F]
RewriteCond %{HTTP_REFERER} ebesucher.es
RewriteRule .? - [F]
 
order allow,deny
deny from 217.147.20.202
allow from all
 
Redirect 301 /sluzhebnyy-razdel/ http://site.ru/
Redirect 301 /glavnaya/ http://site.ru/
Redirect 301 /vakansii-mb-zapad/ http://site.ru/vakansii/
Redirect 301 /otzyvy-mb-zapad/ http://site.ru/otzyvy/
 
 
___________________________________________



В файле 4726 строк - это в основном ссылки редиректа... все работает кроме такого типа ссылок (указанных выше в описании проблемы)

Также я подозревал что мешается такой редирект: 
Redirect 301 /uslugi/bmw/ http://site.ru/uslugi/  
Но убрав его проблема не пропала. 

Насчет F5 тоже думал... нет, не оно. И браузеры менял и что только не делал. Кэша на хосте тоже нет. 


Сообщение отредактировал andrey-mam: 02 Март 2016 - 13:14

  • 0

#5 Evgeniy3200

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

Отправлено 02 Март 2016 - 13:24

@andrey-mam, хм, странно..если бы все переадресованные ссылки не работали - было бы проще. а тут только часть. даже не знаю куда начать копать.

 

Возможно вам сможет помочь @Ixman или @jytyx. Подождем что они скажут.

я только общее понятие в этом вопросе имею.

 

Еще у меня предположение по поводу того, что пропал раздел. Т.е. необходимо чтобы переадресовывались все ссылки указанного раздела? а редирект переадресовывает только конкретно указанный адрес.

 

Попробуйте конструкцию редиректа такого типа:

RewriteRule ^razdel/podrazdel/stranica$ http://site.ru/razdel/podrazdel/novaya-stranica [R=301,L]

  • 0

Если вы можете наугад в полной темноте пробраться к собственной кровати, ни разу не ушибившись, значит, пора путешествовать!



#6 andrey-mam

andrey-mam
    Topic Starter
  • Пользователь
  • 5 сообщений
  • Репутация: 0

Отправлено 02 Март 2016 - 13:49

@Evgeniy3200,

 RewriteRule ^razdel/podrazdel/stranica$ http://site.ru/razdel/podrazdel/novaya-stranica [R=301,L]

Работает! но только также криво... :(


  • 0

#7 ShowPrint

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

Отправлено 02 Март 2016 - 16:34

Это похоже на то, что мешает какое-то правило выше...

Также я подозревал что мешается такой редирект:  Redirect 301 /uslugi/bmw/ http://site.ru/uslugi/   Но убрав его проблема не пропала.
После того как убрали, кеш  браузера чистили?

 

Для отладки можно попробовать задокументировать все правила редиректа "до" нужного, почистить кеш и проверить работоспособность самого правила. (ну или в локалке)

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


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


#8 andrey-mam

andrey-mam
    Topic Starter
  • Пользователь
  • 5 сообщений
  • Репутация: 0

Отправлено 02 Март 2016 - 17:03

@ShowPrint, Да, я вообще удалил эту строку и несколько ссылок проверил в инкогнито.  


  • 0

#9 ShowPrint

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

Отправлено 02 Март 2016 - 17:24

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

 

По проблеме - чудес не бывает, если все работают, а одно нет, то что-то ему мешает работать - надо искать выше "что именно"...


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


#10 andrey-mam

andrey-mam
    Topic Starter
  • Пользователь
  • 5 сообщений
  • Репутация: 0

Отправлено 02 Март 2016 - 19:52

@ShowPrint, по поводу кеша... уже все отчаянно перепробовал, проверил и с другого компа, ведь редирект то срабатывает, просто не правильно, а неправильные варианты я не заливал на хост. 
Еще есть один нюанс, может это как-то разъяснит проблему: 
Изначально (почему собственно и пропал уровень /bmw/) структура сайта делилась на две части /bmw/ и /mercedes/ соответственно я искоренил эти уровни с помощью замены значений в БД сайта. 
Т.е. заменил /uslugi/bmw/ на /uslugi/ (а mercedes просто удалил с сайта) и может теперь он поправляет меня сам, что мол не может быть такого, надо убирать /bmw/, а далее редирект не срабатывает... не знаю что уже думать. 


  • 0

robot

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


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