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

antik    1

Здравствуйте!

Магазин раньше был на другом движке, сейчас перенесли все на OpenCart и требуется сделать переадресацию URL.

 

Делаю:

RewriteRule ^/catalog/barchairs/$ /stulya-barnye/ [R=301,L]

Перехожу на /catalog/barchairs/ и получаю "Запрпашиваемая страница не найдена", а в адресной строке:

/barchairs/?_route_=catalog/barchairs/

Решение показанное в этой теме - не подходит, т.к. старые ссылки вообще не относятся к OpenCart.

Подскажите, что делать?

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


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

я сделал так:

в файле index.php добавил в начале строку

require_once('redirect.php');

в файле redirect.php такой код

<?php
$links = array(
'/affiliate-program.html' => '/affiliate/login',
'/articles.html' => '/terms_delivery',
'/contact-us.html' => '/information/contact',
'/shop.html' => '/tattoo-kits');
foreach ($links as $k => $v)
{
if (strpos($_SERVER['REQUEST_URI'], $k) !== false) {
	
		header("HTTP/1.1 301 Moved Permanently");
		header("Location: $v");
		die("Redirect");
	}
}	
?>

в массиве первое значение это старый адрес страницы, второе значение новая страница

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


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

Спасибо за ответ, @ratwell, т.е. просто в htaccess не решить этот вопрос?

Прошу советов гуру

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


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

теме ап. вопрос не решен

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


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

http://www.opencart.com/index.php?route=extension/extension/info&extension_id=5388

 

Судя по админке  продвинутая штучка.

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


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

http://www.opencart.com/index.php?route=extension/extension/info&extension_id=5388

 

Судя по админке  продвинутая штучка.

Правильно ли я понимаю из ответов автора того модуля, что этот модуль не подойдет в случае смены старых ссылок с НЕопенартовского движка на новоые ссылки Опенкартовского движка? Или "блондиню":) и в данном случае всё прокатит?

 

 

<<We've a quick question, We're trying to understand if this module is the right one for is. Our old e-commerce platform is a non-Opencart system and we are switching to Opencart. <<Can we use this extension to redirect those old links on the old platform to pages on this new Opencart platform? Please advise. Thanks!

 

<<<Yes, as long as the old software isn't still running. The links need to be processed by OpenCart (i.e. display a "not found" OpenCart error page) in order to be redirected using the <<<Redirect Manager.

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


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

Ну так написано ведь...

 

Грубо.. я бы так и делал, а почему бы им не сделать так же

 

Старым ссылкам, все равно каким, ставится в соответствие новые Opencart'овские

 

Все зависит от объема старых и новых

 

Если их до 100 штук

то создать файлик

Старая ссылка : Новая ссылка.

Подключить include в index

проверить на соответствие - и принять решение

 

Это если ссылки известны...

 

Кроме того... можно вести статистику 404-ой ошибки для анализа и уже на основе анализа подключать ссылки в редирект пространство

 

А модуль позволит хранить соответствие в базе... и ... также позволит вести статистику  редиректов

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


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

Спб. за развернутый коммент!:)

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


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

я сделал так:

в файле index.php добавил в начале строку

require_once('redirect.php');

в файле redirect.php такой код

<?php
$links = array(
'/affiliate-program.html' => '/affiliate/login',
'/articles.html' => '/terms_delivery',
'/contact-us.html' => '/information/contact',
'/shop.html' => '/tattoo-kits');
foreach ($links as $k => $v)
{
if (strpos($_SERVER['REQUEST_URI'], $k) !== false) {
	
		header("HTTP/1.1 301 Moved Permanently");
		header("Location: $v");
		die("Redirect");
	}
}	
?>

в массиве первое значение это старый адрес страницы, второе значение новая страница

Огромное спасибо за решение проблемы. Вы меня просто спасли ))

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


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

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

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

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

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

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

Войти

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

Войти


  • Похожий контент

    • От bogdan281989
      Добрый день! Подскажите, возможно ли сделать редирект для всех страниц, которые содержат цифры в конце на такой же урл без цифр?
      Пример: 
      /mezhdunarodnaya-dostavka/rossiya/alekseevskaya-10576/
      перенаправить на 
      /mezhdunarodnaya-dostavka/rossiya/alekseevskaya/
       
      Буду благодарен если кто подскажет с решением или заготовкой htaccess
    • От Igor5
      Привет всем!
      в общем настраиваю файл htaccess для Опенкарт Pro 2.1.0.2.2
      в этом деле особо не знаток, поэтому хотелось бы услышать рекомендации более опытных вебмастеров.. тоесть все ли правильно прописано для правильного редиректа.. для сайта основным является вариант с https и без www
       
      # Основной редирект RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) # NOT MOVE - НЕ ТРОГАТЬ И НЕ ПЕРЕМЕЩАТЬ ЭТО ПРАВИЛО RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]      #Редирект 301 RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/ RewriteRule ^index\.html$ / [R=301,L] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ / [R=301,L] RewriteCond %{QUERY_STRING} ^route=common/home$ RewriteCond %{REQUEST_METHOD} !^POST$ RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L] </IfModule>  
    • От KegP
      Добрый вечер.
      Столкнулся с проблемой при выполнении следующей задачи:
      мне нужно посетителя, пришедшего с определённого сайта на определённую страницу, перенаправлять на нужную мне страницу.
       
      Имеем следующую строчки, которые не пашут, хотя, вроде бы, всё логично:
      RewriteCond %{HTTP_REFERER} ^http://(www\.)?site\.ru [NC] 
      RewriteRule ^/medical-products/ /vitamins/ [L,R]
       
      Ниже верхняя часть .htaccess
       
      # 1.To use URL Alias you need to be running apache with mod_rewrite enabled. # 2. In your opencart directory rename htaccess.txt to .htaccess. # For any support issues please visit: http://www.opencart.com Options +FollowSymlinks # Prevent Directoy listing Options -Indexes # Prevent Direct Access to files <FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))"> Require all denied ## For apache 2.2 and older, replace "Require all denied" with these two lines : # Order deny,allow # Deny from all </FilesMatch> # SEO URL Settings RewriteEngine On # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ RewriteBase / RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L] RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L] RewriteRule ^system/download/(.*) index.php?route=error/not_found [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] RewriteCond %{HTTP_REFERER} ^http://(www\.)?site\.ru [NC] RewriteRule ^/medical-products/ /vitamins/ [L,R] Заранее спасибо...
    • От xdivers
      Добрый вечер.
      Есть сайт 
      vdashop.ru
      После того как скопировал и был создан поддомен home.vdashop.ru (идентичный главному сайту но с другой базой)
      ТО главная страница стала открываться с непонятным редиректом.
      Сайт лежит на отдельном сервере.
      Может кто может помочь. Конфиги у всех настроены отдельно 
       
    • От Nikolay
      Очень нужна помощь!
      до установки сертификата:
      запросы http:// и www переадресовывались на страницу http://www (адрес сайта с www, так и был проиндексирован поисковиками)
       
      после установки сертификата
      запрос http:// правильно перенаправляется на страницу https://www
      а вот запрос www перенаправляется на страницу http://www (адрес сайта с www, но без протокола "s")
       
      Помогите настроить правильно htaccess
       
      У нас сейчас так:
       
      # Подробнее на http://myopencart.ru
      Options +FollowSymlinks
      # Запретить листинг директорий
      Options -Indexes
      # Закрыть доступ к файлам шаблонов
      <FilesMatch "\.(tpl|ini|log)">
      Order deny,allow
      Deny from all
      </FilesMatch>
      # http to www
      RewriteCond %{HTTP_HOST} ^allb.ru
      RewriteRule (.*) https://www.allb.ru/$1 [R=301,L]
      # Необходимо для ЧПУ.
      RewriteEngine On
      RewriteBase /
      RewriteRule ^order$ index.php?route=checkout/quickcheckout [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
       
       
       
  • Последние посетители   0 пользователей онлайн

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