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

Проблема после перехода на Https


mityai631

Recommended Posts

Друзья! После перехода на https пропал sitemap google. модуль пробовал отключать и включать, файл не появляется. При попытке перейти по адресу файла из админке ошибка 500. Ocstore 2.3

# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.

# 2. In your opencart directory rename htaccess.txt to .htaccess.

# For any support issues please visit: http://www.opencart.com

Options +FollowSymlinks

# Prevent Directoy listing
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
 Require all denied
## For apache 2.2 and older, replace "Require all denied" with these two lines :
# Order deny,allow
# Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.xn--80aabh9acdxbv1a6h\.xn--p1ai$ [NC]
RewriteRule ^(.*)$ http://xn--80aabh9acdxbv1a6h.xn--p1ai/$1 [R=301,L]
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/

RewriteBase /
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^system/download/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

### Additional Settings that may need to be enabled for some servers
### Uncomment the commands by removing the # sign in front of it.
### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that.

# 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it:
# php_flag register_globals off

# 2. If your cart has magic quotes enabled, This may work to disable it:
# php_flag magic_quotes_gpc Off

# 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try
# php_value upload_max_filesize 999M

# 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value post_max_size 999M

# 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_execution_time 200

# 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields
# php_value max_input_time 200

# 7. disable open_basedir limitations
# php_admin_value open_basedir none

### Display PHP errors 
### Uncomment the commands by removing the # sign in front of it.
# php_flag display_startup_errors on
php_flag display_errors off
# php_flag html_errors on
# php_flag track_errors on
# php_value error_reporting "E_ALL"

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


30 минут назад, mityai631 сказал:

# php_flag display_startup_errors on
php_flag display_errors off
# php_flag html_errors on
# php_flag track_errors on
# php_value error_reporting "E_ALL"

Раскомментируйте эти строки. Включите отображение ошибок в php и будет видно из-за чего 500 ошибка.

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

Если и это не знаете как посмотреть напишите хостеру и попросите у них лог ошибок сервера.

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

21 минуту назад, OcAppLab сказал:

Раскомментируйте эти строки. Включите отображение ошибок в php и будет видно из-за чего 500 ошибка.

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

Если и это не знаете как посмотреть напишите хостеру и попросите у них лог ошибок сервера.

это. файл eror log в директории сайта.

xn--80aabh9acdxbv1a6h.xn--p1ai [Sat Feb 09 01:12:29 2019] [error] [pid 29368] sapi_apache2.c(325): [client 213.87.161.182:55138] PHP Fatal error:  Call to a member function resize() on null in /home/c/cp19718/uribaka/public_html/system/storage/modification/catalog/controller/extension/feed/google_sitemap.php on line 20
xn--80aabh9acdxbv1a6h.xn--p1ai [Sat Feb 09 01:12:33 2019] [error] [pid 29459] sapi_apache2.c(325): [client 213.87.161.182:55282] PHP Fatal error:  Call to a member function resize() on null in /home/c/cp19718/uribaka/public_html/system/storage/modification/catalog/controller/extension/feed/google_sitemap.php on line 20
 

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


3 минуты назад, mityai631 сказал:

Call to a member function resize()

Вот и ответ из-за чего 500 ошибка.

 

Посмотрите внимательно файл и скажите у Вас модель $this->load->model('tool/image'); подключена?

Если подключена, тогда перейдите в файл model/tool/image.php и посмотрите есть ли там функция resize

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

p.s. Судя по тому что файл с модификатора (system/storage/modification/catalog/controller/extension/feed/google_sitemap.php). Какие делались изменения в этом файле?

Можете прислать 20-тую строку его?

Или она выглядит 

$output .= '<image:loc>' . $this->model_tool_image->resize($product['image'], $this->config->get($this->config->get('config_theme') . '_image_popup_width'), $this->config->get($this->config->get('config_theme') . '_image_popup_height')) . '</image:loc>';

так?

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

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

Возможно из-зо того, что у товара нет изображения, функция resize не работает

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

7 часов назад, OcAppLab сказал:

p.s. Судя по тому что файл с модификатора (system/storage/modification/catalog/controller/extension/feed/google_sitemap.php). Какие делались изменения в этом файле?

Можете прислать 20-тую строку его?

Или она выглядит 


$output .= '<image:loc>' . $this->model_tool_image->resize($product['image'], $this->config->get($this->config->get('config_theme') . '_image_popup_width'), $this->config->get($this->config->get('config_theme') . '_image_popup_height')) . '</image:loc>';

так?

$output .= '<image:loc>' . $this->model_tool_image->resize($product['image'], $this->config->get($this->config->get('config_theme') . '_image_popup_width'), $this->config->get($this->config->get('config_theme') . '_image_popup_height')) . '</image:loc>';

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


7 часов назад, OcAppLab сказал:

Вот и ответ из-за чего 500 ошибка.

 

Посмотрите внимательно файл и скажите у Вас модель $this->load->model('tool/image'); подключена?

Если подключена, тогда перейдите в файл model/tool/image.php и посмотрите есть ли там функция resize

не вижу ее!

<?php
class ControllerExtensionFeedGoogleSitemap extends Controller {
    public function index() {
        if ($this->config->get('google_sitemap_status')) {
            $output  = '<?xml version="1.0" encoding="UTF-8"?>';
            $output .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">';

            $this->load->model('catalog/product');

            $products = $this->model_catalog_product->getProducts();

            foreach ($products as $product) {
                if ($product['image']) {
                    $output .= '<url>';
                    $output .= '<loc>' . $this->url->link('product/product', 'product_id=' . $product['product_id']) . '</loc>';
                    $output .= '<changefreq>weekly</changefreq>';
                    $output .= '<lastmod>' . date('Y-m-d\TH:i:sP', strtotime($product['date_modified'])) . '</lastmod>';
                    $output .= '<priority>1.0</priority>';
                    $output .= '<image:image>';
                    $output .= '<image:loc>' . $this->model_tool_image->resize($product['image'], $this->config->get($this->config->get('config_theme') . '_image_popup_width'), $this->config->get($this->config->get('config_theme') . '_image_popup_height')) . '</image:loc>';
                    $output .= '<image:caption>' . $product['name'] . '</image:caption>';
                    $output .= '<image:title>' . $product['name'] . '</image:title>';
                    $output .= '</image:image>';
                    $output .= '</url>';
                }
            }

            $this->load->model('catalog/category');

            $output .= $this->getCategories(0);

            $this->load->model('catalog/manufacturer');

            $manufacturers = $this->model_catalog_manufacturer->getManufacturers();

            foreach ($manufacturers as $manufacturer) {
                $output .= '<url>';
                $output .= '<loc>' . $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $manufacturer['manufacturer_id']) . '</loc>';
                $output .= '<changefreq>weekly</changefreq>';
                $output .= '<priority>0.7</priority>';
                $output .= '</url>';

                $products = $this->model_catalog_product->getProducts(array('filter_manufacturer_id' => $manufacturer['manufacturer_id']));

                foreach ($products as $product) {
                    $output .= '<url>';
                    $output .= '<loc>' . $this->url->link('product/product', 'manufacturer_id=' . $manufacturer['manufacturer_id'] . '&product_id=' . $product['product_id']) . '</loc>';
                    $output .= '<changefreq>weekly</changefreq>';
                    $output .= '<priority>1.0</priority>';
                    $output .= '</url>';
                }
            }


              $this->load->model('catalog/news');

                $output .= '<url>';
                $output .= '<loc>' . $this->url->link('information/news') . '</loc>';
                $output .= '<changefreq>weekly</changefreq>';
                $output .= '<priority>0.3</priority>';
                $output .= '</url>';

            $all_news = $this->model_catalog_news->getAllNews();

            foreach ($all_news as $news) {
                $output .= '<url>';
                $output .= '<loc>' . $this->url->link('information/news/info', 'news_id=' . $news['news_id']) . '</loc>';
                $output .= '<changefreq>weekly</changefreq>';
                $output .= '<priority>0.6</priority>';
                $output .= '</url>';
            }
            
            $this->load->model('catalog/information');

            $informations = $this->model_catalog_information->getInformations();

            foreach ($informations as $information) {
                $output .= '<url>';
                $output .= '<loc>' . $this->url->link('information/information', 'information_id=' . $information['information_id']) . '</loc>';
                $output .= '<changefreq>weekly</changefreq>';
                $output .= '<priority>0.5</priority>';
                $output .= '</url>';
            }

            $output .= '</urlset>';

            $this->response->addHeader('Content-Type: application/xml');
            $this->response->setOutput($output);
        }
    }

    protected function getCategories($parent_id, $current_path = '') {
        $output = '';

        $results = $this->model_catalog_category->getCategories($parent_id);

        foreach ($results as $result) {
            if (!$current_path) {
                $new_path = $result['category_id'];
            } else {
                $new_path = $current_path . '_' . $result['category_id'];
            }

            $output .= '<url>';
            $output .= '<loc>' . $this->url->link('product/category', 'path=' . $new_path) . '</loc>';
            $output .= '<changefreq>weekly</changefreq>';
            $output .= '<priority>0.7</priority>';
            $output .= '</url>';

            $products = $this->model_catalog_product->getProducts(array('filter_category_id' => $result['category_id']));

            foreach ($products as $product) {
                $output .= '<url>';
                $output .= '<loc>' . $this->url->link('product/product', 'path=' . $new_path . '&product_id=' . $product['product_id']) . '</loc>';
                $output .= '<changefreq>weekly</changefreq>';
                $output .= '<priority>1.0</priority>';
                $output .= '</url>';
            }

            $output .= $this->getCategories($result['category_id'], $new_path);
        }

        return $output;
    }
}
Змінено користувачем mityai631
Надіслати
Поділитися на інших сайтах


41 минуту назад, Fedka сказал:

Попробуйте добавить модель tool/image, скажем, после 


$this->load->model('catalog/product');

Возможно поможет

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

Fatal error: Uncaught exception 'Exception' with message 'Error: Could not load model tool/imaage!' in /home/c/cp19718/uribaka/public_html/system/storage/modification/system/engine/loader.php:59 Stack trace: #0 /home/c/cp19718/uribaka/public_html/system/storage/modification/catalog/controller/extension/feed/google_sitemap.php(9): Loader->model('tool/imaage') #1 [internal function]: ControllerExtensionFeedGoogleSitemap->index() #2 /home/c/cp19718/uribaka/public_html/system/storage/modification/system/engine/action.php(51): call_user_func_array(Array, Array) #3 /home/c/cp19718/uribaka/public_html/catalog/controller/startup/router.php(25): Action->execute(Object(Registry)) #4 [internal function]: ControllerStartupRouter->index() #5 /home/c/cp19718/uribaka/public_html/system/storage/modification/system/engine/action.php(51): call_user_func_array(Array, Array) #6 /home/c/cp19718/uribaka/public_html/system/engine/front.php(34): Action->execute(Object(Registry)) #7 /home/c/cp19718/uribaka/public_html/system/engine/front.php(29): in /home/c/cp19718/uribaka/public_html/system/storage/modification/system/engine/loader.php on line 59

 

 

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


2 часа назад, mityai631 сказал:

Could not load model tool/imaage!'

Такой модели и нет. У Вас опечатка

 

Должно быть tool/image

Змінено користувачем OcAppLab
  • +1 1
Надіслати
Поділитися на інших сайтах

53 минуты назад, OcAppLab сказал:

Такой модели и нет. У Вас опечатка

 

Должно быть tool/image

загрузился This XML file does not appear to have any style information associated with it. The document tree is shown below.

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


$output .= '<image:image>';
$output .= '<image:loc>' . $this->model_tool_image->resize($product['image'], $this->config->get($this->config->get('config_theme') . '_image_popup_width'), $this->config->get($this->config->get('config_theme') . '_image_popup_height')) . '</image:loc>';
$output .= '<image:caption>' . $product['name'] . '</image:caption>';
$output .= '<image:title>' . $product['name'] . '</image:title>';
$output .= '</image:image>';

Уберите вообще вот эти строчки и будет Вам счастье.

Или поставьте нормальный модуль sitemap.

 

На форуме их очень много:

https://opencartforum.com/tags/sitemap/

 

Или попробуйте найти какая картинка отдает пустое значение после ресаза.

 

Есть даже маленькая вероятность того, что с картинками все хорошо, но просто место на сервере (хостинге) закончилось и функция resize не может создать миниатюру.

Или есть еще один вариант, убрать вообще этот resize и отдавать гуглу оригинальные изображение, но тут будет минис, если они у Вас уникальные, то их будут комуниздить.

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

Ребята, спасибо всем. Вроде разобрался и заработало все. Гугл схавал сайтмэп. Было добавлено $this->load->model('tool/image'); потом запрос 

UPDATE `oc_product` SET date_modified = now() в phpmyadmin чтобы на дату не ругался. И были найдены товары без фото и сбитыми фото.
Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

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

Important Information

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