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

[Решено] Как создать правильный адрес имя_сайта/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 цели перенаправления.

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

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


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

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

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

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

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

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

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


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

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

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


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

 

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

 

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

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

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

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

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


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

 

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

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

  • 10 месяцев спустя...

Эта строчка  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

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

  • 1 год спустя...
В 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 4
Ссылка на комментарий
Поделиться на других сайтах

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

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

 

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

 

 

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


2 минуты назад, chukcha сказал:

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

 

 

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

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


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

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

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

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

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

Войти

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

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

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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