Рекомендуемые сообщения

indevor    8

Приветствую уважаемое сообщество. Столкнулся с очень не хорошей проблемой, гугленье и метод "тыка" не помогает. Прошу помощи. Был интернет магазин на движке oscommerce, очень древнее изобретение и были у него ссылки вида: ""http://www.site.by/universalnaya-kolyaska-riko-alpina-full-color-p-134.html" - страница товара. Магазин успешно переехал на движок - opencart (ocStore 1.5.4.1), а вот его старые ссылки не как не желают этого делать. Привожу текущий .htaccess:
-------------------------------------------------------------------------

Options +FollowSymlinks
Options -Indexes
 
# Prevent Direct Access to files
<FilesMatch "\.(tpl|ini|log)">
 Order deny,allow
 Deny from all
</FilesMatch>
 
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_item_include file \.js$
mod_gzip_item_include file \.css$
</IfModule>
</IfModule>
 
###################################
# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0
 
# Set up 1 week caching on javascript and CSS
<FilesMatch "\.(js|css)$">
  ExpiresDefault A604800
  Header append Cache-Control "proxy-revalidate"
  SetOutputFilter DEFLATE
</FilesMatch>
 
# Force no caching for dynamic files
<FilesMatch "\.(php)$">
  ExpiresActive Off
  Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
  Header set Pragma "no-cache"
</FilesMatch>
###################################
FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch ".(jpg|jpeg|gif|png|ico|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 month"
</filesmatch>
</ifmodule>
####################################
# SEO URL Settings
 
 
AddDefaultCharset UTF-8
RewriteEngine On
RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^yandexmarket.xml$ index.php?route=feed/yandex_market [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
 
#RewriteCond %{HTTP_HOST} ^(www\.)(.*)$
#RewriteRule ^(.*) http://%2/$1 [R=301,L]
#RewriteCond %{HTTP_HOST} !^(babydream\.by)$ 
#RewriteRule ^(.*) http://site.by/$1 [R=301,L]
#RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
#RewriteRule ^index\.html$ http://site.by/ [R=301,L]
#RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
#RewriteRule ^index\.php$ http://site.by/ [R=301,L]
 

-------------------- если включить эту конструкцию перенаправления тоже толком не происходит, перекидывает на: http://site.by/index.php?_route_=universalnaya-kolyaska-riko-satino-p-759.html

 

RewriteCond %{HTTP_HOST} ^(www\.)(.*)$
RewriteRule ^(.*) http://%2/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^(babydream\.by)$ 
RewriteRule ^(.*) http://site.by/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://site.by/ [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.by/ [R=301,L]
-------------------
 
RewriteRule ^robots.txt$ - [L]
 
 
 
RewriteRule ^/universalnaya-kolyaska-riko-satino-p-759\.html http://site.by/detskie-kolyaski/kolyaska-riko-satino.html [R=301,L] - такой реврайт не помогает
RewriteRule ^/universalnaya-kolyaska-riko-satino-p-759.html http://site.by/detskie-kolyaski/kolyaska-riko-satino.html [R=301,L] - такой реврайт не помогает
RewriteRule ^/kolyaski-c-33.html$ http://site.by/detskie-kolyaski/ [R=301,L] - такой тоже
 
--- etc

# php_flag register_globals off
php_flag magic_quotes_gpc off
php_value upload_max_filesize 100M
php_value post_max_size 100M
php_value max_execution_time 120

-----------------------------------------------------------

Экстренно прошу помощи, уважаемые господа!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 020

весь .htaccess показывать не надо

 

Старый сайт был на этом же домене?

 

Если на этом, то нужно делать редирект со старых на новые

Как выглядит сейчас ссылка нового и как выглядела старого?

 

Со старым понятно

http://www.site.by/kolyaski-c-33.html -так

А как у нового?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
indevor    8

весь .htaccess показывать не надо

 

Старый сайт был на этом же домене?

 

Если на этом, то нужно делать редирект со старых на новые

Как выглядит сейчас ссылка нового и как выглядела старого?

 

Со старым понятно

http://www.site.by/kolyaski-c-33.html -так

А как у нового?

старый домен был с www. то есть www.site.by/.... такие ссылки висят в индексе, новые ссылки site.by/..../.... .html

новая ссылка: http://site.by/avtokresla/ - категория, товар http://site.by/avtokresla/avtokreslo-4baby-alto.html , домен тот же

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 020

старый домен был с www. то есть www.site.by/.... такие ссылки висят в индексе, новые ссылки site.by/..../.... .html

новая ссылка: http://site.by/avtokresla/ - категория, товар http://site.by/avtokresla/avtokreslo-4baby-alto.html, домен тот же

Ё-мое

Сложно показать как выглядела старая ссылка

и как будет выглядеть(выглядит) новая?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 020

babydream - я вычитал... из htaccess

Я хочу увидеть сопоставление старых новым.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
indevor    8

Господа, извините за нубство, хотел как лучше...

старый : http://www.babydream.by/kolyaski-c-33.html
новый: http://babydream.by/detskie-kolyaski/


 

RewriteRule ^/kolyaski-c-33.html$ http://babydream.by/detskie-kolyaski/ '>http://babydream.by/detskie-kolyaski/ 

 - вот такой реврайт не к чему ни приводит.

 

при переходе перекидывает на : http://babydream.by/index.php?_route_=kolyaski-c-33.html  , полагаю это из-за правила,

RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] 

закомментировать его не вариант.

если убрать QSA и сделать


Redirect 301 /kolyaski-c-33.html http://babydream.by/detskie-kolyaski/  

, все работает, но не работает СОРТИРОВКА :) и полагаю корзина. Господа, как быть?)

Изменено пользователем indevor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 020

Ну вот...

Есть несколько вариантов

Наиболее безобидным, мне кажется

1. Получить "карту сайта" старых ссылок и карту новых

написать  файлик

старая ссылка | новая ссылка

скрипт читающий этот файл

и программно организовать редирект

 

2. тоже самое сделать в htaccess

 

У вас старые ссылки никак не коррелируются  с новыми

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
indevor    8

Ну вот...

Есть несколько вариантов

Наиболее безобидным, мне кажется

1. Получить "карту сайта" старых ссылок и карту новых

написать  файлик

старая ссылка | новая ссылка

скрипт читающий этот файл

и программно организовать редирект

 

2. тоже самое сделать в htaccess

 

У вас старые ссылки никак не коррелируются  с новыми

Склоняюсь ко второму варианту, вся загвоздка в синтаксисе.. (карта ссылок есть)

Кто поможет написать реврайт работающий?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 020

Все же неверно мыслите...

Первый вариант более гибкий, и по сути не нужно вмешиваться в системные файлы

Потому что...

1. возможно, если будет найдена корреляция старый/новый, то задача упроститься

Кроме того, возможно, понадобится внутренняя система редиректов различного вида, просто добавление нужных соответствий в файл

 

2. После того как ПС склеит "старое" с новым достаточно удалить (можно удалять построчно).

 

зы. Так мысли в сторону...

Если уж сильно захочется, то можно добавить модуль SEO Manager

И в таблицу заносить старый - новый, а с сеопро, вообще будет, на перевый взгляд шикарно

 

ззы.

 

Кто поможет написать реврайт работающий?

Помочь или сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
indevor    8

Все же неверно мыслите...

Первый вариант более гибкий, и по сути не нужно вмешиваться в системные файлы

Потому что...

1. возможно, если будет найдена корреляция старый/новый, то задача упроститься

Кроме того, возможно, понадобится внутренняя система редиректов различного вида, просто добавление нужных соответствий в файл

 

2. После того как ПС склеит "старое" с новым достаточно удалить (можно удалять построчно).

 

зы. Так мысли в сторону...

Если уж сильно захочется, то можно добавить модуль SEO Manager

И в таблицу заносить старый - новый, а с сеопро, вообще будет, на перевый взгляд шикарно

 

ззы.

Помочь или сделать?

Честно?.. Напишите рабочий реврайт любой ссылки, если Вас это не затруднит, к примеру этой.

http://www.babydream.by/kolyaski-c-33.html
на это
http://babydream.by/detskie-kolyaski/ 

По аналогии, я перепишу все остальное. Сейчас я сделал временное решение - Redirect 301 /kolyaski-c-33.html http://babydream.by/detskie-kolyaski/ и закоментировал  QSA , как и писал выше, но в таком виде параметры не передаются в строку запроса (нет сортировки, страницы не переключаются)

Дело в том, что мои знания крайне малы как в синтаксисе apache (если я правильно выражаюсь) и не достаточны что бы писать что то на пхп. Нужно быстрое решение, как все склеется, я почищу .htaccess. Всего ссылок не так много, страницы с товарами и страницы с категориями, примерно 100 -120 шт, все остальное (ссылки) что бы у донора, мусор, распыляющий pagerank и релевантную страницу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 020

А вы где прописали это код?

Напишите сразу полсе RewriteEngine on

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
indevor    8

А вы где прописали это код?

Напишите сразу полсе RewriteEngine on

 

 

Белый экран, ничего не происходит как при переходе с ПС так и на прямую по ссылке 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
freelancer    1 418

у тс установлен seo_pro? если да то какой именно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
indevor    8

Да тот что из коробки в 1.5.4.1, все оказалось проще, chukcha, был прав сразу после RewriteEngine On -  всталяем RewriteRule ^kolyaski-c-33.html$ http://babydream.by/detskie-kolyaski/ [L,R=301,QSA] (думаю qsa можно убрать) и все работает..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    1 020

RewriteRule ^kolyaski-c-33\.html$ detskie-kolyaski/ [L,R=301,QSA]

Так правильнее

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
freelancer    1 418

видимо я плохо занимаюсь пополяризацией новых возможностей ocstore (

в seo_pro из последнего ocstore_1.5.5. эта возможность есть из коробки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
indevor    8

freelancer, сборка была скачана какое то время назад и что то в ней пилилось... очередь дошла до чуп .. хотя вот такая конструкция на сайте B (1.5.4.1) отлично работает: RewriteRule ^index.php/avtokresla-avtokresla-c-83$ http://B.by/avtokrela [R=301,L] , хоть и стоит в конце .htaccess.. Особенность хостинга? .htaccess двух сайтов идентичный, за исключением реврайтов..

Изменено пользователем indevor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
indevor    8

chukcha, благодарю Вас за оказанную помощь, выручили.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу