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

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

День добрый. 

Opencart 1.5.6 с сео про

есть несколько информационных страниц которым прописаны сео урлы, например: сайт.ру/dostavka-I-oplata

Сайт.ру/shop

 

Само собой есть категории товаров, например: сайт.ру/category

 

Так вот, сейчас категория доступна не по одну адресу сайт.ру/category, но и по всем информационным урлам после категории: сайт.ру/category/shop

Сайт.ру/category/dostavka-I-oplata, т.е. открывается та же категория и получается дубль. 

При этом не существующий адрес отдаёт 404, такой как сайт.ру/category/bla-bla

 

как победить такой беспредел, помогите люди добрые)

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


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

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

Вот кусок осмода для 2.1 к catalog/controller/common/seo_pro.php

<operation>
	<search><![CDATA[
		foreach ($parts as $part) {
	]]></search>
	<add position="before"><![CDATA[
		$i = 0;
	]]></add>
</operation>
<operation>
	<search><![CDATA[
		if ($url[0] == 'category_id') {
	]]></search>
  	<add position="replace" offset="8"><![CDATA[
		if ($url[0] != 'information_id') {
			if ($url[0] == 'category_id') {
				if (!isset($this->request->get['path'])) {
					$this->request->get['path'] = $url[1];
				} else {
					$this->request->get['path'] .= '_' . $url[1];
				}
			} elseif (count($url) > 1) {
				$this->request->get[$url[0]] = $url[1];
			}
		} else {
			if ($i == 0 && count($url) > 1) {
				$this->request->get[$url[0]] = $url[1];
			}
		}
		$i++;
	]]></add>
</operation>

Возможно есть и другое решение.

 

 

 

 

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


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

А вы не подставляйте руками

 

И рельсу можно сломать

Для защиты от дурака, нужно строить автомат проверки

 

Если встретился category_id, то ни infomation_id, manufacturer_id уже быть не может

И обратно
 

 

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


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

Откуда ноги растут у проблемы не нашел, но спасибо за Ваши ответы.

Нашел откуда яндекс брал кривые ссылки - на сайте настроены относительные пути, а в шапке base был прописан обычным слешем: <base href="/"> что не есть гуд. В шапке сайта было 2 ссылки на /shop и /dostavka-i-oplata и Яша с каждой страницы подставлял к текущему URL'у /shop и /dostavka-i-oplata

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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