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

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

Добрый вечер уважаемые форумчане. Столкнулся первый раз с такой проблемой: при включении чпу, страницы не открываются и имеют вид http://kubtorg.ru/index.php/kofejnye-avtomaty  htaccess переименован и стоит в корне опенкарта. Не пойму в чем может быть дело? версия 2.2.0.0

Изменено пользователем Alexidi76

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


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

Какой SEO SUPER PUPER MEGA SHIT ULTIMATE модуль стоит у вас еще ?

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


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

Какой SEO SUPER PUPER MEGA SHIT ULTIMATE модуль стоит у вас еще ?

Не знаю о чем вы говорите. В модулях нет никаких подобных модулей.

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


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

Не пойму откуда подставляется в урл index.php/ Можете подсказать плиз?

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


Ссылка на сообщение
Поделиться на другие сайты
страницы не открываются и имеют вид http://kubtorg.ru/in...fejnye-avtomaty  htaccess переименован

Если выкинуть из ссылки index.php, то всё прекрасно открывается, так что .htaccess тут не при чём - проблема только в генерации ЧПУ.

Что у вас в /catalog/controller/startup/seo_url.php и /system/storage/modification/catalog/controller/startup/seo_url.php?

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


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

Не знаю о чем вы говорите. В модулях нет никаких подобных модулей.

Вы уверены ?

У вас ЧПУ формирователь seo_url rewrite() генерирует не правильные ЧПУ - значит "что-то" есть 

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


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

Если выкинуть из ссылки index.php, то всё прекрасно открывается, так что .htaccess тут не при чём - проблема только в генерации ЧПУ.

Что у вас в /catalog/controller/startup/seo_url.php и /system/storage/modification/catalog/controller/startup/seo_url.php?

 

/catalog/controller/startup/seo_url.php

<?php
class ControllerStartupSeoUrl extends Controller {
	public function index() {
		// Add rewrite to url class
		if ($this->config->get('config_seo_url')) {
			$this->url->addRewrite($this);
		}

		// Decode URL
		if (isset($this->request->get['_route_'])) {
			$parts = explode('/', $this->request->get['_route_']);

			// remove any empty arrays from trailing
			if (utf8_strlen(end($parts)) == 0) {
				array_pop($parts);
			}

			foreach ($parts as $part) {
				$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'");

				if ($query->num_rows) {
					$url = explode('=', $query->row['query']);

					if ($url[0] == 'product_id') {
						$this->request->get['product_id'] = $url[1];
					}

					if ($url[0] == 'category_id') {
						if (!isset($this->request->get['path'])) {
							$this->request->get['path'] = $url[1];
						} else {
							$this->request->get['path'] .= '_' . $url[1];
						}
					}

					if ($url[0] == 'manufacturer_id') {
						$this->request->get['manufacturer_id'] = $url[1];
					}

					if ($url[0] == 'information_id') {
						$this->request->get['information_id'] = $url[1];
					}

					if ($query->row['query'] && $url[0] != 'information_id' && $url[0] != 'manufacturer_id' && $url[0] != 'category_id' && $url[0] != 'product_id') {
						$this->request->get['route'] = $query->row['query'];
					}
				} else {
					$this->request->get['route'] = 'error/not_found';

					break;
				}
			}

			if (!isset($this->request->get['route'])) {
				if (isset($this->request->get['product_id'])) {
					$this->request->get['route'] = 'product/product';
				} elseif (isset($this->request->get['path'])) {
					$this->request->get['route'] = 'product/category';
				} elseif (isset($this->request->get['manufacturer_id'])) {
					$this->request->get['route'] = 'product/manufacturer/info';
				} elseif (isset($this->request->get['information_id'])) {
					$this->request->get['route'] = 'information/information';
				}
			}

			if (isset($this->request->get['route'])) {
				return new Action($this->request->get['route']);
			}
		}
	}

	public function rewrite($link) {
		$url_info = parse_url(str_replace('&', '&', $link));

		$url = '';

		$data = array();

		parse_str($url_info['query'], $data);

		foreach ($data as $key => $value) {
			if (isset($data['route'])) {
				if (($data['route'] == 'product/product' && $key == 'product_id') || (($data['route'] == 'product/manufacturer/info' || $data['route'] == 'product/product') && $key == 'manufacturer_id') || ($data['route'] == 'information/information' && $key == 'information_id')) {
					$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = '" . $this->db->escape($key . '=' . (int)$value) . "'");

					if ($query->num_rows && $query->row['keyword']) {
						$url .= '/' . $query->row['keyword'];

						unset($data[$key]);
					}
				} elseif ($key == 'path') {
					$categories = explode('_', $value);

					foreach ($categories as $category) {
						$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE `query` = 'category_id=" . (int)$category . "'");

						if ($query->num_rows && $query->row['keyword']) {
							$url .= '/' . $query->row['keyword'];
						} else {
							$url = '';

							break;
						}
					}

					unset($data[$key]);
				}
			}
		}

		if ($url) {
			unset($data['route']);

			$query = '';

			if ($data) {
				foreach ($data as $key => $value) {
					$query .= '&' . rawurlencode((string)$key) . '=' . rawurlencode((is_array($value) ? http_build_query($value) : (string)$value));
				}

				if ($query) {
					$query = '?' . str_replace('&', '&', trim($query, '&'));
				}
			}

			return 'http://kubtorg.ru/' . (isset($url_info['port']) ? ':' . $url_info['port'] : '') . str_replace('/index.php', '', $url_info['path']) . $url . $query;
		} else {
			return $link;
		}
	}
}

/system/storage/modification/catalog/controller/startup/seo_url.php  -  нет такой директории.

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


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

Вы уверены ?

У вас ЧПУ формирователь seo_url rewrite() генерирует не правильные ЧПУ - значит "что-то" есть 

В модулях нет ничего подобного чтобы напоминало о сео. есть автоматический транслит, файл js  в админке просто подставляет латыницу в сеоурл.

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


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

А что это WTF ?

return 'http://kubtorg.ru/' . (isset($url_info['port']) ? ':' . $url_info['port'] : '') . str_replace('/index.php', '', $url_info['path']) . $url . $query;

Возьмите оригинальный seo_url.php

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


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

А что это WTF ?

return 'http://kubtorg.ru/' . (isset($url_info['port']) ? ':' . $url_info['port'] : '') . str_replace('/index.php', '', $url_info['path']) . $url . $query;

Возьмите оригинальный seo_url.php

это из какой директории?

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


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

это из какой директории?

Ну вы что не видите - это из вашего seo_url.php который вы здесь предоставили

Кто вам такую "засаду" сделал?

Ставьте оригинальный seo_url.php

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


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

А что это WTF ?

return 'http://kubtorg.ru/' . (isset($url_info['port']) ? ':' . $url_info['port'] : '') . str_replace('/index.php', '', $url_info['path']) . $url . $query;

Возьмите оригинальный seo_url.php

 

Не вариант, вылезло куча ошибок.

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


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

Не вариант, вылезло куча ошибок.

Ну тогда мы вам помочь не сможем

Вам кто то топором допиливал seo_url.php неизвестно под что

Так не делают

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


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

Может залить поверх существующего сайта оригинальные файлы движка?

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


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

Ну тогда мы вам помочь не сможем

Вам кто то топором допиливал seo_url.php неизвестно под что

Так не делают

Да я сам в шоке от такой криворукости. Первый раз с таким сталкиваюсь. Я не знаю кто это делал. Взялся помочь, а тут такая засада.

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


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

Может залить поверх существующего сайта оригинальные файлы движка?

Просто мы не знаем что вам там "пилили" ручной пилой "дружба"

Можете залить поверх и ваш магазин уйдет в даун

Но так как вам пилили seo_url.php .. за такое сразу в табло бьют

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


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

Ладно, попробую залить предварительно сделав бэкап. отпишусь за результат. Не найти уж кому табло набить...

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


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

Ладно, попробую залить предварительно сделав бэкап. отпишусь за результат. Не найти уж кому табло набить...

Для начала можно ещё попробовать заглянуть в /system/library/url.php. Уверен, там тоже поковырялись и есть вероятность, что причина проблемы там.

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


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

Для начала можно ещё попробовать заглянуть в /system/library/url.php. Уверен, там тоже поковырялись и есть вероятность, что причина проблемы там.

Это не "поковырялись", это уже "надругались" скорее

Я не понимаю как так можно по тупому вставлять такие костыли.

Да скорее всего и в url.php тоже надругались над кодом... и даже не хочу думать где еще. :ugeek:

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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