Jump to content
mityai631

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

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"

Share this post


Link to post
Share on other sites
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 ошибка.

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

Share this post


Link to post
Share on other sites
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
 

Share this post


Link to post
Share on other sites
3 минуты назад, mityai631 сказал:

Call to a member function resize()

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

 

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

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

Share this post


Link to post
Share on other sites

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

так?

Share this post


Link to post
Share on other sites

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

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

  • +1 1

Share this post


Link to post
Share on other sites
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>';

Share this post


Link to post
Share on other sites
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;
    }
}
Edited by mityai631

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites
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

 

 

Share this post


Link to post
Share on other sites
2 часа назад, mityai631 сказал:

Could not load model tool/imaage!'

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

 

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

Edited by OcAppLab
  • +1 1

Share this post


Link to post
Share on other sites
53 минуты назад, OcAppLab сказал:

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

 

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

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

Share this post


Link to post
Share on other sites

теперь гугл ругается на Обнаружена неверная дата. Исправьте дату или ее формат перед повторной передачей. 631 ошибка

Share this post


Link to post
Share on other sites

теперь вот ))) 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

Share this post


Link to post
Share on other sites
$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 и отдавать гуглу оригинальные изображение, но тут будет минис, если они у Вас уникальные, то их будут комуниздить.

Share this post


Link to post
Share on other sites

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

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

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.


  • 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.