Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

[Решено] sitemap.xml на https выдает url с http


 Поделиться

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

Opencart 2.2

Почему url в sitemap.xml генерируются с http, а не https? В настройках выбрано "Использовать SSL"

Изменено пользователем efremovxp
Ссылка на комментарий
Поделиться на других сайтах

Решил проблему принудительной отдачей https адреса

/system/library/url.php

<?php
class Url {
	private $ssl;
	private $rewrite = array();

	public function __construct($ssl = false) {
		$this->ssl = $ssl;
	}
	
	public function addRewrite($rewrite) {
		$this->rewrite[] = $rewrite;
	}

	public function link($route, $args = '', $secure = false) {
		//if ($this->ssl && $secure) {
			$url = 'https://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
		//} else {
		//	$url = 'http://' . $_SERVER['HTTP_HOST'] . rtrim(dirname($_SERVER['SCRIPT_NAME']), '/.\\') . '/index.php?route=' . $route;
		//}
		
		if ($args) {
			if (is_array($args)) {
				$url .= '&' . http_build_query($args);
			} else {
				$url .= str_replace('&', '&', '&' . ltrim($args, '&'));
			}
		}

		foreach ($this->rewrite as $rewrite) {
			$url = $rewrite->rewrite($url);
		}

		return $url;
	}
}
Ссылка на комментарий
Поделиться на других сайтах

  • 5 месяцев спустя...
  • 4 недели спустя...

Все куда проще. В том же файле system/library/url.php

Строку

public function link($route, $args = '', $connection = '') {

меняем на

public function link($route, $args = '', $connection = 'SSL') {

 

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...
В 19.02.2017 в 23:14, elscept сказал:

меняем на


public function link($route, $args = '', $connection = 'SSL') {

Огромное спасибо, работает. и Simple в том числе.

Изменено пользователем voldemarch
Ссылка на комментарий
Поделиться на других сайтах


В 19.02.2017 в 23:14, elscept сказал:

Все куда проще. В том же файле system/library/url.php

Строку


public function link($route, $args = '', $connection = '') {

меняем на


public function link($route, $args = '', $connection = 'SSL') {

 


Здравствуйте! А для версии ocStore 2.1.0.2.1 не подскажите, что надо поменять?

Ответ найден:) То же самое надо поменять:)

П.С.
Видимо пора отдохнуть...

Изменено пользователем beautypoint
Ссылка на комментарий
Поделиться на других сайтах


  • 1 месяц спустя...

Может кому пригодится, для ocStore 2.3.0.2

там же system/library/url.php меняем

public function link($route, $args = '', $secure = false)

на

public function link($route, $args = '', $secure = true)

  • +1 4
Ссылка на комментарий
Поделиться на других сайтах


  • 3 недели спустя...
В 08.05.2017 в 13:31, raybray сказал:

Может кому пригодится, для ocStore 2.3.0.2

там же system/library/url.php меняем

public function link($route, $args = '', $secure = false)

на

public function link($route, $args = '', $secure = true)

Спасибо.
Еще добавлю, после этого нужно обновить модификаторы 

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


  • 3 недели спустя...

Переводила сайт на https, но sitemap остался на http (Опенкарт 2.0.2.0)
Когда я проверяю sitemap  -    выдает ошибку: Fatal error: Maximum execution time of 30 seconds exceeded in /home/vovi/site.com.ua/www/vqmod/vqcache/vq2-system_modification_system_library_db.php on line 39

 

Строка 39   $nitro_match = preg_match('~SELECT.*WHERE.*(LIKE|MATCH)~i', $sql, $nitro_matches);

Помогите разобраться.

 

59422bfacaf49_.png.a2c2a0b52d4d3940fae6d21b21b193c0.png

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


  • 3 месяца спустя...

предлагаю немного другую модификацию, что бы при хттп и хттпс протоколе сайтмап отображал текущий протокол.

в файле system/library/url.php добавляем строку с проверкой протокола подключения и на разных протоколах подключения у нас адрес соответствующий текущему протоколу.

	public function link($route, $args = '', $secure = false) {
	if($_SERVER["HTTPS"]) $secure = true;

первая строка неизменна, вторую добавляем. ocStore 2.3.0.2.3

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


  • 8 месяцев спустя...
В 08.05.2017 в 14:31, raybray сказал:

Может кому пригодится, для ocStore 2.3.0.2

там же system/library/url.php меняем

public function link($route, $args = '', $secure = false)

на

public function link($route, $args = '', $secure = true)

спасибо

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


  • 5 месяцев спустя...
58 минут назад, Megadacha сказал:

Такая же проблема в opencart 3. Не подскажете как решить ?

 

В opencart 3 решение аналогичное.

"там же system/library/url.php меняем

public function link($route, $args = '', $secure = false)

на

public function link($route, $args = '', $secure = true)"

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


  • 2 месяца спустя...
В 19.02.2017 в 23:14, elscept сказал:

Все куда проще. В том же файле system/library/url.php

Строку


public function link($route, $args = '', $connection = '') {

меняем на


public function link($route, $args = '', $connection = 'SSL') {

 

Работает. Спасибо!)

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


А вот у меня теперь ещё вопрос по старым проиндексированным страницам с http: что с ними делать? Удалять с индекса чтоб не было дублей или со временем они сами выпадут и останутся только https?

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


В 08.05.2017 в 13:31, raybray сказал:

Может кому пригодится, для ocStore 2.3.0.2

там же system/library/url.php меняем

public function link($route, $args = '', $secure = false)

на

public function link($route, $args = '', $secure = true)

Перестает работать Симпл(((

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


Подскажите что делать в сложившейся ситуации? Открыл сайт для индексации. Страницы начали индексироваться, но столкнулся с вышеизложенной проблемой. Исправил http на https и остальные страницы уже начали добавляться с https. НО первые страницы остались в индексе с http. Что с этим делать? Удалять их через вебмастер или со временем они сами выпадут из индекса?

Вроде ж несложный вопрос для знающих, но что-то все молчат(((

Изменено пользователем kamaro1990
Ссылка на комментарий
Поделиться на других сайтах


  • 5 месяцев спустя...
On 9/30/2017 at 9:47 PM, Opatov said:

предлагаю немного другую модификацию, что бы при хттп и хттпс протоколе сайтмап отображал текущий протокол.

в файле system/library/url.php добавляем строку с проверкой протокола подключения и на разных протоколах подключения у нас адрес соответствующий текущему протоколу.


	public function link($route, $args = '', $secure = false) {
	if($_SERVER["HTTPS"]) $secure = true;

первая строка неизменна, вторую добавляем. ocStore 2.3.0.2.3

спасибо, с этим работает и симпл

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


  • 1 месяц спустя...

Лог файл вырос до 100 мб, ругаясь на 16 строчку и параметр $secure = true)

Получилось починить, убрал параметр и сделал так, пока молчит:

public function link($route, $args = '') {
        if($_SERVER["HTTPS"]) $secure = true;

Может кому пригодится. 

Изменено пользователем rndmakk
Ссылка на комментарий
Поделиться на других сайтах


  • 1 год спустя...

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

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

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