Перейти к содержанию
ilerok

Сделать 301 редирект на Opencart 2

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

Всем привет!

Нужно в opencart 2 сделать редирект вида:

с site.ru/catalog/good.asp?gd_id=1377 

на site.ru/index.php?route=product/product&product_id=1321

 

Redirect 301 /old-page.html http://new-domain.ru/new-page.html - Не помогает :(
 

Буду ооочень благодарен за помощь! 

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


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

Попробуйте

 

RewriteCond %{QUERY_STRING} ^_route_=/catalog/good.asp?gd_id=1377/$
RewriteRule ^(.*)$ http://site.ru/index.php?route=product/product&product_id=1321/? [R=301,L]

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

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


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

Пробую, пишет: что запрашиваемая страница не найдена. 

 

Вот содержимое файла:

 

# 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 +SymLinksIfOwnerMatch
 
# Prevent Directoy listing 
Options -Indexes
 
# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
 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 /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=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 %{QUERY_STRING} ^_route_=/catalog/good.asp?gd_id=1377/$
 
### Additional Settings that may need to be enabled for some servers 
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.
 
# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off
 
# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off
 
# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M
 
# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M
 
# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200
 
# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200
 
# 7. disable open_basedir limitations
# php_admin_value open_basedir none

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


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

Попробуйте

 

RewriteCond %{QUERY_STRING} ^_route_=/catalog/good.asp?gd_id=1377/$

RewriteRule ^(.*)$ http://site.ru/index.php?route=product/product&product_id=1321/? [R=301,L]

Пробую, пишет: что запрашиваемая страница не найдена. 

 

Вот содержимое файла:

 

# 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 +SymLinksIfOwnerMatch
 
# Prevent Directoy listing 
Options -Indexes
 
# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
 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 /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=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 %{QUERY_STRING} ^_route_=/catalog/good.asp?gd_id=1377/$
RewriteRule ^(.*)$ http://site.ru/index...oduct_id=1321/? [R=301,L]
 
### Additional Settings that may need to be enabled for some servers 
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.
 
# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off
 
# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off
 
# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M
 
# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M
 
# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200
 
# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200
 
# 7. disable open_basedir limitations
# php_admin_value open_basedir none

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


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

курите в эту сторону

RewriteCond %{QUERY_STRING} ^gd_id=([0-9]+)$
RewriteRule ^catalog/good.asp$ index.php?route=product/product&product_id=%1 [R=301,L]

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

только после RewriteBase /

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

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


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

Но нужно именно для четкого id редирект. Как сделать с ним?

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


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

Подскажите, были ссылки такого плана:

 

productname-manufacturername.html Переделал ссылки в вид prouctname.html

 

В .htaccess прописал:

 

RewriteRule ^productname-manufacturername.html ххтп: //site.ru/prouctname.html [L,R=301]

 

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

 

Но если переходить по ссылкам хттп:// site.ru/category/productname-manufacturername.html или http: //site.ru/category/subcategory/productname-manufacturername.html

пишет, страница не найдена. Что еще нужно добавить, чтобы по этим адресам тоже редирект происходил?

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

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


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

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

так какого ... ты в htaccess сначала "жжешь чайник на плите", а потом "наливаешь воду"?

соблюдай порядок и пиши правила в правильной последовательности.

кури матчасть.

пользуйся поиском по форуму.

я уже МНОГО РАЗ об этом писал.

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


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

Привет, господа!

Подскажите простой вопрос.

У меня сейчас на сайте 2 языка /ru и /uk

Я хочу один из них вывести на уровень выше, соответсвенно мне нужно сделать редирект для всех страниц с https://111.com.ua/ru/ на https://111.com.ua/

Как то реализовать грамотно? 

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.