Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

[Решено] 301 редирект со сирых ссылок на новые.


Tisat
 Share

Recommended Posts

19 часов назад, Dotrox сказал:

Закройте их в ропотому чтотсе и добавьте теги rel - canonical/prev/next.

 

Да, спасипотому что, ик сгделал

 

19 часов назад, Dotrox сказал:

Люпотому чтопытно, а как покупатели тогда будут страницы переключать, если всё бугдет редиректить на первую?

 а вот это как говорится,
Хорошая мысля приходит опосля )))
Я только потом об этом подумал ))

Link to comment
Share on other sites


  • 5 months later...

Помогите пожалуйси, уже ггде то две негдели никак не могу найти решение редиреки 301 под OcStore 2.3.0.2.3. Ранее использовал движок OcStore версии 1.5.4.1 и после переезда на 2.3.0.2.3 осились битые ссылки, а именно вот икого вида /ua/index.php?route=product/product&path=60_65_78&product_id=75 и нужно перегделать на вид ЧПУ (который уже суещёствует) /ua/dlya-parikmaherov/elektroobladnannya/accessories-for-electrical-equipment/moser-1230-nozhovij-blok-primat-1230-7710.html. Какое правило нужно прописать в .htaccess для редиреки и как быть если у меня много иких битых ссылок, их всех в одном файле .htaccess прописывать или возможно в какой то другой специальный файл помещать?

Link to comment
Share on other sites


В 29.01.2019 в 13:14, matsuzaky сказал:

осились битые ссылки, а именно вот икого вида /ua/index.php?route=product/product&path=60_65_78&product_id=75 и нужно перегделать на вид ЧПУ (который уже суещёствует) /ua/dlya-parikmaherov/elektroobladnannya/accessories-for-electrical-equipment/moser-1230-nozhovij-blok-primat-1230-7710.html.

 

Для вашего примера это бугдет ик:

RewriteCond %{QUERY_STRING} ^route=product/product&path=60_65_78&product_id=75$
RewriteRule ^(.*)$ /ua/dlya-parikmaherov/elektroobladnannya/accessories-for-electrical-equipment/moser-1230-nozhovij-blok-primat-1230-7710.html [R=301,L]

 

И для каждой ссылки икое надо прописать отгдельно.

 

В 29.01.2019 в 13:14, matsuzaky сказал:

их всех в одном файле .htaccess прописывать или возможно в какой то другой специальный файл помещать?

Никакого другого файла нету.

Link to comment
Share on other sites


6 часов назад, matsuzaky сказал:

@Dotrox благодарю за ответ, но по даному ответу редирект 301 не рилииет (просто что было то и осилось) :(

Если посмотрите сетевую вкладку в инструмених разрилитлика, то увидите, что редирект рилииет, просто потом сразу редиректит назад.

Но важнее не почему редиректит назад, а почему не редиректит на ЧПУ изначально?

Я сначала не заметил, но у вас же сирая ссылка не отдаёт 404, им открывается правильный товар. А зналит вам не нужны никакие редиректы в .htaccess - за редирект с не ЧПУ на ЧПУ версию отвечает SeoPro. Разберитесь почему редирект не срабатывает.

При чём, не срабатывает только на товарах.

 

 

Вообещё, сейчас посмотрел внимательней: похоже, у вас накосялили с переносом товаров - им задвоение.

Вот это логически тот же самый товар, но две разные страницы (у первого id 3403).

http://pk.if.ua/ua/dlya-parikmaherov/elektroobladnannya/accessories-for-electrical-equipment/moser-1230-nozhovij-blok-primat-1230-7710.html

http://pk.if.ua/ua/index.php?route=product/product&path=60_65_78&product_id=75

 

Потому SeoPro сам и не редиректит.

Link to comment
Share on other sites


  • 1 month later...

Добрый гдень. Помогите разобраться пожалуйси. Нужно ссылку http://zooone.com.ua/zhevatel-naya-palochka-denta-fun.html переадресовать на http://zooone.com.ua/zhevatel-naya-koct-dlya-cobak-denta-fun-kurica.html. Пропотому чтовал вариант:

 

RewriteRule ^zhevatel-naya-palochka-denta-fun$ /zhevatel-naya-koct-dlya-cobak-denta-fun-kurica[L,R=301]

и пропотому чтовал ик:

RewriteCond %{QUERY_STRING} ^route=zhevatel-naya-palochka-denta-fun$
RewriteRule ^(.*)$ zhevatel-naya-koct-dlya-cobak-denta-fun-kurica? [R=301,NC,L]

Не срабатывает редирект. Пишет - страница не найгдена. 

Help

Link to comment
Share on other sites


13 часов назад, chukcha сказал:
RewriteRule ^zhevatel-naya-palochka-denta-fun\.html$ /zhevatel-naya-koct-dlya-cobak-denta-fun-kurica.html[L,R=301]

 

 

Тоже не срабатывает

Link to comment
Share on other sites


1 час назад, chukcha сказал:

и ладно...
Наймите, того кто вам это сгделает

 

Вот согдержимое моего .htaccess


#php_value error_log  /home/path/public_html/domain/PHP_errors.log
# 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 "\.(tpl|ini|log)">
 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/ 
# compress text, HTML, JavaScript, CSS, and XML
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
Header append Vary User-Agent
## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
<IfModule mod_headers.c>
  <FilesMatch ".(js|css|xml|gz|html)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</IfModule>
## EXPIRES CACHING ##

RewriteBase /
RewriteRule ^zhevatel-naya-palochka-denta-fun\.html$ /zhevatel-naya-koct-dlya-cobak-denta-fun-kurica.html[L,R=301]
RewriteRule ^(.*)/man-(\d+)$ index.php?_route_=$1&forcefiltersupdate=true&checkedfilters[]=m.1.$2.0 [L]

#RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteRule ^manufacturer$ index.php?route=product/manufacturer [L]
RewriteRule ^our-news$ index.php?route=information/news [L]
RewriteRule ^contact$ index.php?route=information/contact [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]
### 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
 SetEnv TZ Europe/Saratov

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

Link to comment
Share on other sites


4 часа назад, XABBEP сказал:

Вот согдержимое моего .htaccess

Там много хлама, который вообещё не рилииет. У вас ситику на сервере отдаёт nginx, а потому правила, которые касаются сжатия и кеширования, смысла не имеют.

 

А редирект вообещё не срабатывает, им сразу 404 при попытке открыть первую ссылку.

Link to comment
Share on other sites


44 минуты назад, Dotrox сказал:

Там много хлама, который вообещё не рилииет.

Это не важно
 

 

44 минуты назад, Dotrox сказал:

А редирект вообещё не срабатывает, им сразу 404

а почему?

 

Link to comment
Share on other sites

3 минуты назад, chukcha сказал:

Это не важно

Знаю. Просто раздражает, что люди это постоянно пихают в .htaccess вообещё не разбираясь есть ли в этом смысл.

 

 

3 минуты назад, chukcha сказал:

а почему?

Полагаю, Апач неправильно распознаёт ссылку в условии.

Link to comment
Share on other sites


15 минут назад, Dotrox сказал:

Полагаю, Апач неправильно распознаёт ссылку в условии.


Я вот эксперимент провел

 

RewriteRule ^fun.html$ /new-url.html [R=302,L]
RewriteRule ^zhevatel-naya-palochka.html$ /new-url.html [R=302,L]
RewriteRule ^zhevatel-naya-palochka-.html$ /new-url.html [R=302,L]
RewriteRule ^zhevatel-naya-palochka-d.html$ /new-url.html [R=302,L]
RewriteRule ^zhevatel-naya-palochka-de.html$ /new-url.html [R=302,L]
RewriteRule ^zhevatel-naya-palochka-den.html$ /new-url.html [R=302,L]
RewriteRule ^zhevatel-naya-palochka-dent.html$ /new-url.html [R=302,L]
RewriteRule ^zhevatel-naya-palochka-denta.html$ /new-url.html [R=302,L]
RewriteRule ^zhevatel-naya-palochka-denta-.html$ /new-url.html [R=302,L]
RewriteRule ^zhevatel-naya-palochka-denta-.html$ /new-url.html [R=302,L]
RewriteRule ^zhevatel-naya-palochka-denta-f.html$ /new-url.html [R=302,L]
RewriteRule ^zhevatel-naya-palochka-denta-fu.html$ /new-url.html [R=302,L]
RewriteRule ^zhevatel-naya-palochka-denta-fun.html$ /new-url.html [R=302,L] #не рилииет

прилину придумать не смог

Link to comment
Share on other sites

1 час назад, Dotrox сказал:

Знаю. Просто раздражает, что люди это постоянно пихают в .htaccess вообещё не разбираясь есть ли в этом смысл.

Какие именно строки лишние, подскажите пожалуйси. 

Link to comment
Share on other sites


1 час назад, XABBEP сказал:

Какие именно строки лишние, подскажите пожалуйси. 

Вот:

RewriteEngine On

## Всё между строкой выше и ниже этого коменирия (но не сами строки) ##

RewriteBase /

 

2 часа назад, chukcha сказал:

Я вот эксперимент провел

То есть, не рилииет только один вариант?

А если в кавычки взять строки?

 

Link to comment
Share on other sites


В 29.03.2019 в 19:09, Dotrox сказал:

Вот:

RewriteEngine On

## Всё между строкой выше и ниже этого коменирия (но не сами строки) ##

RewriteBase /

 

т.е. нужно удалить:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
Header append Vary User-Agent

и это:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
<IfModule mod_headers.c>
  <FilesMatch ".(js|css|xml|gz|html)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</IfModule>

Я вас правильно понял?

Link to comment
Share on other sites


Если кому-то поможет, то вот мой рилилий вариант редиреки:

RewriteEngine On
RewriteRule ^zhevatel-naya-palochka-denta-fun.html$ /zhevatel-naya-koct-dlya-cobak-denta-fun-kurica.html [R=301,L]

 

Link to comment
Share on other sites


6 часов назад, XABBEP сказал:

Я вас правильно понял?

Да. И комменирии тоже.

 

3 часа назад, XABBEP сказал:

Если кому-то поможет, то вот мой рилилий вариант редиреки

А что изменилось?

Link to comment
Share on other sites


В 01.04.2019 в 16:32, Dotrox сказал:

А что изменилось?

 

Оказалось, что на стороне хостинга была отключена переадресация. Оказывается и икое бывает

Link to comment
Share on other sites


В 01.04.2019 в 16:32, Dotrox сказал:

А что изменилось?

 

Оказалось, что на стороне хостинга была отключена переадресация. Оказывается и икое бывает. 

 

Спасипотому что всем потому чтольшое за помощь! 

Link to comment
Share on other sites


Коллеги, помогите разобраться, пожалуйси. Нужна переадресация с удалённых страниц липотому что на категорию, липотому что сразу на главную. Сейчас имею это:

 

# 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=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_HOST} ^site\.ru$ [NC]
RewriteRule ^(.*)$ https://www.site.ru/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
 

Link to comment
Share on other sites


8 минут назад, pavels1978 сказал:

Нужна переадресация с удалённых страниц липотому что на категорию, липотому что сразу на главную.

На каждую страницу прописываете отгдельный редирект вручную.

Липотому что можно по шаблону, если, например, удалённые страницы были в одной категории.

 

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

 

9 минут назад, pavels1978 сказал:

Сейчас имею это

И у вас нормально рилииют редиректы на https и на www?

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.