Jump to content
Sign in to follow this  
motosimak

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

Recommended Posts

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

Магазин стоит в подпапке /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]

 

Share this post


Link to post
Share on other sites

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

 

А 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
 

Share this post


Link to post
Share on other sites

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

 

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; ?>" />

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

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

Share this post


Link to post
Share on other sites

спасибо, а в каком файле это делается? 

установлен OcStore

Share this post


Link to post
Share on other sites

RewriteBase /shop/import/
wtf???

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

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

Share this post


Link to post
Share on other sites
 остальной код в файле - еще бОльший пипец. 

 

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

 

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

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

РЕШЕНИЕ

 

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));

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.