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

[Решено] Как избавиться от дублей через .htaccess в OpenCart 2.0?

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

Нахожу в сети советы как настроить .htaccess так, чтобы со всех дублей переадресация вела на один домен. Но все найденные сведения относятся к версии 1.х Я пытался использовать эти советы, но с теми настройками выдавало ошибку 500.

Напишите пожалуйста, как правильно настроить .htaccess для OcStore 2.х

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


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

Что?

seo_pro.

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


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

htaccess не зависит от версии opencart.

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


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

Сделал так:

RewriteCond %{HTTP_HOST} !^xn--e1aauomt.xn--p1ai$ [NC]
RewriteRule ^(.*)$ http://xn--e1aauomt.xn--p1ai/$1 [L,R=301]

Этого достаточно?

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


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

Для чего?

 

 

Сделал так:

RewriteCond %{HTTP_HOST} !^xn--e1aauomt.xn--p1ai$ [NC]
RewriteRule ^(.*)$ http://xn--e1aauomt.xn--p1ai/$1 [L,R=301]

Этого достаточно?

Где вы взяли эту рекомендацию?

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

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


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

Для чего?

 

Где вы взяли эту рекомендацию?

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

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


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

Ищите по форуму

 

Это 100500 раз разжевывается.. Также как и как убрать Работает на Opencart

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


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

Когда человек говорит: "я сам, я сам" -, то это подразумевает, что он будет интересоваться тем что он пишет.

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

 

Потому задам вопрос, что такое точка в регулярном выражении?

 

!^xn--e1aauomt.xn--p1ai$ [NC]

Попадает ли туда

!^xn--e1aauomtXYZxn--p1ai$ [NC]

 

 

Да.. правило сработает (хоть оно и не совсем верно записано

Но что это правило делает?

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


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

Когда человек говорит: "я сам, я сам" -, то это подразумевает, что он будет интересоваться тем что он пишет.

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

 

Потому задам вопрос, что такое точка в регулярном выражении?

 

!^xn--e1aauomt.xn--p1ai$ [NC]

Попадает ли туда

!^xn--e1aauomtXYZxn--p1ai$ [NC]

 

 

Да.. правило сработает (хоть оно и не совсем верно записано

Но что это правило делает?

Вы намекаете, что не заэкранировав точку я роботу сказал, что после точки может быть любой символ? Нужно экранировать точку, чтобы было правильно? Или что вы имеете ввиду?

RewriteCond %{HTTP_HOST} !^xn--e1aauomt\.xn--p1ai$ [NC]
RewriteRule ^(.*)$ http://xn--e1aauomt\.xn--p1ai/$1 [L,R=301]

Так нужно?

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

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


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

Я хочу сказать, что нужно включать голову.

 

Вот пример

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

И.. чем от отличается от вашего?
Он будет работать везде!!!

 

  • +1 1

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


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

Я хочу сказать, что нужно включать голову.

 

Вот пример

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

И.. чем от отличается от вашего?

Он будет работать везде!!!

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

Я не сочинял свой пример. Я его нашел в сети. Вот тут первый пример. http://hosting.nic.ru/support/htaccess.shtml

Самостоятельно судить хорош этот способ или плох я не берусь из-за отсутствия должного опыта в регулярных выражениях. Поэтому и обратился в беседку. А тут экзамены. ))

 

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

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

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


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

То что по ссылке - тупое копирования с непониманием, хотя обвинить в это хостера, вроде, нельзя. Но после таких советов, иногда хочется усомниться в качестве техподдержки.

 

Мой пример работает на любом сайте, и не нужно никуда прописывать имя хоста. Мой пример - универсален.

 

Экзамен? Нет! Вопрос был только для того чтобы вы обратили внимание!

 

Это у вас мультимагазина нет

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

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


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

Снова подниму этот вопрос.

Пользовался этой переадресацией:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Но появилась необходимость переадресовать

 

с домен.рф и www.домен.рф

на http://под.домен.рф

 

Пытался так:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://xn--d1atc.%1/$1 [R=301,L]

Но так не работает. Может кто подскажет такой же лаконичный и универсальный способ?

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


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

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://xn--d1atc.%1/$1 [R=301,L]

 

RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule ^(.*)$ http://xn--d1atc.%1/$1 [R=301,L]

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


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

Да вот же:

RewriteCond %{HTTP_HOST} ^www.site.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$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]

site.com => ваш домен

Удаляет дубли главной страницы и редиректит с www на домен

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


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

Вот список доменов, которые будут переадресовываться на один домен:

 

www.под.домен.рф

 

домен.рф

www.домен.рф

 

домен1.рф

www.домен1.рф

 

домен2.рф

www.домен2.рф

 

домен3.рф

www.домен3.рф

 

Все эти домены должны ссылаться на под.домен.рф

 

Как в этом случае написать универсалку?

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


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

в index.php напишите

header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://под.домен.рф"); 
exit(); 

в тех только откуда надо редиректить

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


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

Забыл упомянуть, что все перечисленные адреса ссылаются на одну папку с сайтом. Физически это один сайт и есть.

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


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

домен.рф

www.домен.рф

 

домен1.рф

www.домен1.рф

 

домен2.рф

www.домен2.рф

 

домен3.рф

www.домен3.рф

 

 

RewriteCond %{HTTP_HOST} !www\.под\.домен\.рф [NC]
RewriteRule ^(.*)$ http://www.под.домен.рф/$1 [R=301,L]

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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