Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Ошибка в работе seo URL


Rotarymonkey

Recommended Posts

День добрый. 

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 уже быть не может

И обратно
 

 

Надіслати
Поділитися на інших сайтах

  • 2 weeks later...

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

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.