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

[Решено] Как создать правильный адрес имя_сайта/sitemap.xml (ocStore-1.5.5.1.1)

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

Ребят. Такая проблема. Установил ocStore-1.5.5.1.1 В админке: канал продвижения/Google Sitemap по умолчанию стоит index.php?route=feed/google_sitemap пробую изменить на http://имя_сайта/sitemap.xml Сохраняет, но потом нажимаю "изменить" и вижу первоначальный адрес.

ЧПУ включено
Тип ЧПУ: seoPro
ЧПУ товаров с категориями - да
Окончание ЧПУ: .html
.htaccess переименован правильно
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L] присутствует.

Как сделать ссылку правильной: http://имя_сайта/sitemap.xml переадресовывает постоянно на index.php?route=feed/google_sitemap

P.s. Когда отключаю seo-pro, карта работает по нормальному адресу.

на форум 1.jpg

на форум 2.jpg

на форум 3.jpg

на форум 1.jpg

на форум 2.jpg

на форум 3.jpg

post-673983-0-74664000-1383146784_thumb.jpg

post-673983-0-75349400-1383146799_thumb.jpg

post-673983-0-85603800-1383146805_thumb.jpg

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


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

Неделю пробовал проверить сервисом http://webmaster.yandex.ua/sitemaptest.xml

Вот такой был ответ:

Указанный URL выполняет перенаправление, поэтому не рекомендуется добавлять его в качестве файла Sitemap. Используйте URL цели перенаправления.

Сейчас проверил, всё работает. Ничего не изменял. Спасибо кто отписался. Тема закрыта.

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


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

Аналогичная ситуация, как быть ? не могу в гугле указать путь sitemap , не находит

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


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

Неделю пробовал проверить сервисом http://webmaster.yandex.ua/sitemaptest.xml

Вот такой был ответ:

Указанный URL выполняет перенаправление, поэтому не рекомендуется добавлять его в качестве файла Sitemap. Используйте URL цели перенаправления.

Сейчас проверил, всё работает. Ничего не изменял. Спасибо кто отписался. Тема закрыта.

Подскажите, Так что нужно сделать что б работало нормально ?

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


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

А проблема все существует, и решение не могу найти :( Может, кто-то все-таки знает что же делать с этим корявым адресом сайтмэп? Или просто длинный адрес проще яндексу предоставить и все?

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


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

Объясните почему он корявый?

 

Вы его кому-нибудь показываете?

 

Вы когда мусор выносите - губы красите?

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


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

Эта строчка  RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L] в файле .htaccess, как раз и переделывает адрес index.php?route=feed/google_sitemap в адрес sitemap.xml.  

Зачем в админке исправляете? там нужно только включить. А сервер сам будет заменять адрес. 

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


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

К сожалению, если включен SEO_PRO c префиксом .html то будет редирект...

 

Чегой-то я не того сказал :(

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


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

Эта строчка  RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L] в файле .htaccess, как раз и переделывает адрес index.php?route=feed/google_sitemap в адрес sitemap.xml.  

Зачем в админке исправляете? там нужно только включить. А сервер сам будет заменять адрес. 

как быть если заменяет? при выключенном ЧПУ это работает. при включенном урл сайтмап имеет вид сайт/index.php?route=feed/google_sitemap

 

уже несколько дней ищу решение. если не трудно-подскажите как настроить вывод стандартного сайтмап по адресу сайт/sitemap.xml

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


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

1. прописать в htaccess

2. в seopro прописать исключение для sitemap.xml

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


Ссылка на сообщение
Поделиться на другие сайты
В 12.02.2016 в 10:37, chukcha сказал:

1. прописать в htaccess

2. в seopro прописать исключение для sitemap.xml

Здравствуйте, не подскажете исключение выполнил правильно? Редактировал контроллер Сеопро

 

Цитата

    public function validate() {
        if (!$this->validatePermission()) {
            $this->error['warning'] = $this->language->get('error_permission');
        }
         return !$this->error;

if (ltrim($this->request->server['REQUEST_URI'], '/') == 'sitemap.xml') {
  $this->request->get['route'] = 'extension/feed/yandex_feed';
  return;

}
}

 

не получается все равно, пол дня решение ищу, чтобы сайтмеп был по ссылке /sitemap.xml , но все равно перекидывает.

Обычно в таких ситуациях я не вижу перед носом простейшего решения, что-то подсказывает, что сегодня - тот день)

подскажите пожалуйста, если не трудно.

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


Ссылка на сообщение
Поделиться на другие сайты
	private function validate() {
		if (isset($this->request->get['route']) && $this->request->get['route'] == 'error/not_found') {
			return;
		}
		if (ltrim($this->request->server['REQUEST_URI'], '/') =='sitemap.xml') {
			$this->request->get['route'] = 'feed/google_sitemap';
			return;
		}

 

  • +1 2

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


Ссылка на сообщение
Поделиться на другие сайты
24 минуты назад, chukcha сказал:

	private function validate() {
		if (isset($this->request->get['route']) && $this->request->get['route'] == 'error/not_found') {
			return;
		}
		if (ltrim($this->request->server['REQUEST_URI'], '/') =='sitemap.xml') {
			$this->request->get['route'] = 'feed/google_sitemap';
			return;
		}

 

спасибо за помощь, к результату не привело. (( дождусь еще, может поможет автор решения ниже поможет. У него же как то вышло(

 

 

 

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


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

Где вы это добавляете?
Что это за permission

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
Только что, chukcha сказал:

Где вы это добавляете?
Что это за permission

Добавляю в файле  admin/controller/octeam_tools/seo_manager.php    (где именно добавлять искал сам, т.к. не нагуглил, насколько понимаю это сео_про)

руководствовался вот такой инструкцией

 

у меня тоже окстор 2.3.0.2

 

 

вставлял этот код

 

Цитата

if (ltrim($this->request->server['REQUEST_URI'], '/') == 'sitemap.xml') {
  $this->request->get['route'] = 'extension/feed/yandex_feed';
  return;
}

вот в это место

Цитата

    public function validate() {
        if (!$this->validatePermission()) {
            $this->error['warning'] = $this->language->get('error_permission');
        }
         return !$this->error;

if (ltrim($this->request->server['REQUEST_URI'], '/') == 'sitemap.xml') {
  $this->request->get['route'] = 'extension/feed/yandex_feed';
  return;

}
}

 

зеленым отметил то, что добавлял, остальное было в исходном файле

 

сайтмап у меня генерируется по ссылке /index.php?route=extension/feed/yandex_feed поэтому указываю не feed/google_sitemap , а extension/feed/yandex_feed 

 

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

 

Цитата

    private function validate() {
        if (isset($this->request->get['route']) && $this->request->get['route'] == 'error/not_found') {
            return;
        }
        if (ltrim($this->request->server['REQUEST_URI'], '/') =='sitemap.xml') {
            $this->request->get['route'] = 'extension/feed/yandex_feed';
            return;
        }

зеленым выделил изменения, которые внес, т.к. сайт мап по этому адресу.

 

 

 

в htacess есть также строка 

Цитата

RewriteRule ^sitemap.xml$ index.php?route=extension/feed/yandex_feed [L]

 

но при обращении по ссылке /sitemap.xml  упорно переадресовывает на /index.php?route=extension/feed/yandex_feed

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


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

Зачем вы лезет в админку, если вам надо править контроллер во фронте.

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
11 минут назад, chukcha сказал:

Зачем вы лезет в админку, если вам надо править контроллер во фронте.

спасибо за помощь. Чего лезу - опыта нет в программировании, но было желание решить проблему самому. Очень хочется научиться ориентироваться в этом. В итоге голову вам морочу только. Извините. 

 

нашел файл catalog/controller/startup/seo_pro.php

если это верный файл - то тоже не удалось сделать. 

 

вставил четко по инструкции. В такой же последовательности 

1 час назад, chukcha сказал:

	private function validate() {
		if (isset($this->request->get['route']) && $this->request->get['route'] == 'error/not_found') {
			return;
		}
		if (ltrim($this->request->server['REQUEST_URI'], '/') =='sitemap.xml') {
			$this->request->get['route'] = 'feed/google_sitemap';
			return;
		}

 

результат

	private function validate() {
		if (isset($this->request->get['route']) && $this->request->get['route'] == 'error/not_found') {
			return;
		}
		if (ltrim($this->request->server['REQUEST_URI'], '/') =='sitemap.xml') {
			$this->request->get['route'] = 'extension/feed/sitemap_pro';
			return;
		}

тоже не получается. 

 

Возможно вы сможете помочь мне платно? Если да - напишите в лс цену. Таким образом нужно будет сделать две ссылки - сайтмап для яндекса и для гугла.

 

 

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


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

модификаторы обновили?

 

 

  • +1 1

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


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, chukcha сказал:

модификаторы обновили?

 

 

спасибо огромное за помощь! Тем более в такое позднее время. Всё получилось и причина была в элементарной вещи, которую забыл. Спасибище.

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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