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

Вопрос о <meta property="og:url" content=" кто поможет?

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

Всем привет, такой вопрос

Магазин стоит в подпапке /shop

http://knowpc.ru/shop/

 

Почему в <meta property="og:url" в ссылке указывается 2 раза shop, соответственно такой страницы не существует.

<meta property="og:url" content="http://knowpc.ru/shop/shop/index.php?route=product/product&product_id=25280">

Как исправить и вообще нужно ли заморачиваться?

 

htacces  в подпапке такой

AddCharset UTF-8 .php
AddDefaultCharset Off
RewriteEngine on
RewriteBase /shop/import/
#If in directory RewriteBase /directory_name/import/
RewriteCond $1 !^(system|application|robots\\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ 
RewriteRule ^index\.php$ http://knowpc.ru/shop/ [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/shop/$1 [R=301,L]

 

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


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

потому что, у вас магазин находится в поддиректории

 

А REQUEST_URI - берется от корня сайта

 

Как вариант

 

Добавить

в config константу, Например HTTP_SERVER_ROOT = имя сайта

 

а

header.php

 

        $this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER_ROOT) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));

 

и исправьте формирование og:img
 

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


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

Спасибо, а можно поподробнее?

 

1. в config.php магазина добавить

define('HTTP_SERVER_ROOT = knowpc.ru');

2. В header.php добавить

$this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER_ROOT) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));

А в какое место? сюда, заменить $og_url; на строку выше?

<meta property="og:url" content="<?php echo $og_url; ?>" />

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


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

кстати заметил, что двойная папка и на других демо магазинах opencarta.

 

<meta property="og:url" content=" влияет только на соц сети? для обычного поиска через поисковые системы он не используется?

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


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

ошибка у Вас из-за вот такого знака в урле - amp;

 

в контроллере который формирует такой урл - нужно в переменной которая формирует этот урл - заменить '&'  на '&'
 В этой части кода, или подобной ей
 

'url' 	=> str_replace('&', '&',$this->url->link('product/product', 'product_id=' . $result['product_id'])),

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


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

RewriteBase /shop/import/
wtf???

если магазин не в domain.tld, а в domain.tld/shop/, то должно быть

RewriteBase /shop/
остальной код в файле - еще бОльший пипец.

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


Ссылка на сообщение
Поделиться на другие сайты
 остальной код в файле - еще бОльший пипец. 

 

А какой надо код? Установлен OcStore.

 

И может тоже подскажете, где именно исправляется дубль подпапки?

<meta property="og:url" content="http://knowpc.ru/shop/shop/index.php?route=product/product&product_id=25280">

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


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

Подниму вопрос.

 

Магазин установлен в директорию http://МОЙ-САЙТ.ru/shop/

 

Далее в коде и везде дублируется директория. Для главной, например:

 

<meta property="og:url" content="http://МОЙ-САЙТ.ru/shop/shop/" />

 

Прошу прощения, человек попытался объяснить, но сказал А и забыл Б. Неужели так трудно, обладая знаниями, объяснить, в каком файле что надо изменить.

 

Времени 2 минуты отнимется написать...

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


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

РЕШЕНИЕ

 

1. config.php

 

После строчки:

define('HTTP_SERVER', 'http://ваш-сайт.ru/категория-установки-магазина/');

Добавляем:

define('HTTP_SERVER_ROOT', 'http://ваш-сайт.ru/');

2. catalog/controller/common/header.php

 

 

Строка кода:

$this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER) . ltrim ($this->request->server['REQUEST_URI'],'/');

Меняем на:

$this->data['og_url'] = (isset($this->request->server['HTTPS']) ? HTTPS_SERVER : HTTP_SERVER_ROOT) . substr($this->request->server['REQUEST_URI'], 1, (strlen($this->request->server['REQUEST_URI'])-1));

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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