[Помогите] Не работает ЧПУ

Тема в разделе "OpenCart", создана пользователем alter, 5 май 2014.

  1. alter

    alter

    Регистрация:
    24 мар 2014
    Сообщения:
    48
    Симпатии:
    8
    При включении ЧПУ на хостинге или на xampp сразу перестаёт находить страницы. ЧПУ пробовал и по умолчанию, и Seo Pro и с категориями и без, с окончанием .html и без. Итог один: на хостинге при попытке открыть категорию
    в xampp
    Кэш в system и VQMod чистил. Уникальные Seo URL присвоены всем категориям и товарам (содержат латинские буквы и "-" (дефис)
    Несколько раз самостоятельно брался за ЧПУ, но отступал, т.к. ничего не получалось, видимо багаж знаний ещё недостаточен. Сейчас решил обратиться за помощью к участникам форума.
    Понимаю, что тема на форуме избита, но прочитав посты, мне так и не удалось решить проблему.
    P.S. Магазин на ocStore 1.5.5.1.1
     
  2. Дмитрич

    Дмитрич

    Регистрация:
    10 апр 2014
    Сообщения:
    191
    Симпатии:
    23
    .htaccess переименован?
     
  3. alter

    alter

    Регистрация:
    24 мар 2014
    Сообщения:
    48
    Симпатии:
    8
    Если имеется в виду из .htaccess.txt в .htaccess то да (вернее я копию его сделал с таким названием). Но в корне лежат 2 файла, я думаю что к .txt он не обращается. Обычно оставляю дубли, на случай поломки )
     
  4. Дмитрич

    Дмитрич

    Регистрация:
    10 апр 2014
    Сообщения:
    191
    Симпатии:
    23
    Seo URL какого вида? Не полный адрес? )
     
  5. alter

    alter

    Регистрация:
    24 мар 2014
    Сообщения:
    48
    Симпатии:
    8
    Нет, не полностью.
    Вот например Seo URL категорий и подкатегорий:
    avtokresla
    avtokresla-0-18-kg
    avtokresla-15-36-kg-bustery
    Вот Seo URL товаров:
    avtokreslo-brevi-touring-tsvet-chernyj-seryj
    avtokreslo-brevi-aston-b-fix-tsvet-bejevyj-chernyj
     
  6. Дмитрич

    Дмитрич

    Регистрация:
    10 апр 2014
    Сообщения:
    191
    Симпатии:
    23
    Извините, но моего опыта и фантазии больше ни на что не хватает. Я бы попробовал заменять ключевые файлы на другие из "чистого" ocStore 1.5.5.1.1.
    У меня ocStore 1.5.5.1.2, таких проблем не было. Только я не ставил VQMod, но это не должно, вроде, так сработать...
     
  7. alter

    alter

    Регистрация:
    24 мар 2014
    Сообщения:
    48
    Симпатии:
    8
    Ключевых файлов довольно много и с каких начинать замены, я не знаю. Да и вполне вероятно, что причина окажется совсем в другом. Всё равно благодарен за попытку помочь!
     
  8. Дмитрич

    Дмитрич

    Регистрация:
    10 апр 2014
    Сообщения:
    191
    Симпатии:
    23
    Попробуйте хоть
    .htaccess
    seo_pro.php
    url.php
    seo_url.php

    Может и просто решается, но не факт, что Вам быстро ответят.
     
  9. boxerrr

    boxerrr

    Регистрация:
    8 авг 2013
    Сообщения:
    105
    Симпатии:
    36
    на сните есть .htaccess замените им свой или попробуйте по очередность отключать модули в админке может из-за конфликтов что не так в журнал ошибок загляни еще!!!
     
  10. alter

    alter

    Регистрация:
    24 мар 2014
    Сообщения:
    48
    Симпатии:
    8
    Все указанные файлы заменил на чистые, но результат остался прежним.

    модулей в общем-то немного пока стоит, но и имеющиеся отключил (те, что устанавливал) , файл .htaccess с сайта взял но всё тоже. Журнал ошибок пустой
    Все операции делал как на хостинге, так и на локалке. Единственный момент, что на локалке у меня не был переименован .htaccess.txt, но переименовав его при нажатии на категорию стало перенаправлять с сайта в http://localhost/xampp/

    На всякий случай выкладываю содержимое своего .htaccess (но вроде оно стандартное)
     
  11. Дмитрич

    Дмитрич

    Регистрация:
    10 апр 2014
    Сообщения:
    191
    Симпатии:
    23
    Если модулей немного, изменений не вносили особо, то, может, поставить чистый ocStore? База у Вас останется, модули поставите.... Сам недавно только занимался сайтом с нуля, читал форумы, но похожих на Вашу проблему не помню.
     
  12. alter

    alter

    Регистрация:
    24 мар 2014
    Сообщения:
    48
    Симпатии:
    8
    Модулей немного, но изменений внесено уже прилично. А т.к. многие из них выполнялись либо по описанию, либо методом тыка, то всё восстановить мне будет крайне тяжело и очень долго. Пока оставим этот вариант на потом, как крайнюю меру.
     
  13. alter

    alter

    Регистрация:
    24 мар 2014
    Сообщения:
    48
    Симпатии:
    8
    Оказалось, что на сервере, стояли ограничения для моего сайта.

    Проблема решена. Тему можно закрывать.
     
  14. Дмитрич

    Дмитрич

    Регистрация:
    10 апр 2014
    Сообщения:
    191
    Симпатии:
    23
    Может кому-то ещё пригодится информация?
    Какие ограничения?
    На редирект?
     
  15. alter

    alter

    Регистрация:
    24 мар 2014
    Сообщения:
    48
    Симпатии:
    8
    На сервере в настройках апача стоял запрет на использование .htaccess. Соответственно сняли запрет и всё прекрасно заработало
     
    Дмитрич нравится это.
  16. Ваган

    Ваган

    Регистрация:
    8 ноя 2013
    Сообщения:
    37
    Симпатии:
    1
    Здравствуйте. Подскажите как избавится от ссылки такого вида http://localhost/http://localhost/ естественно ошибка 404, ссылка такой становится во втором магазине на опенкарт для главной, продолжить и логотип.
    мой system/library/url.php
    PHP:
    <?php

    class Url {

        private 
    $url;
        private 
    $ssl;
        private 
    $hook = array();

        public function 
    __construct($url$ssl) {
            
    $this->url $url;
            
    $this->ssl $ssl;
        }

        public function 
    link($route$args ''$connection 'NONSSL') {

            
    // SIMPLE START
            
    $get_route = isset($_GET['route']) ? $_GET['route'] : (isset($_GET['_route_']) ? $_GET['_route_'] : '');

            
    /* if ($route == 'checkout/cart' && $get_route != 'checkout/cart') {
              $connection = 'SSL';
              $route = 'checkout/simplecheckout';
              } */

            
    if ($route == 'checkout/checkout' && $get_route != 'checkout/checkout') {
                
    $route 'checkout/simplecheckout';
            }

            if (
    $route == 'account/register' && $get_route != 'account/register') {
                
    $route 'account/simpleregister';
            }

            if (
    $route == 'account/edit' && $get_route != 'account/edit') {
                
    $route 'account/simpleedit';
            }

            if (
    $route == 'account/address/update' && $get_route != 'account/address/update') {
                
    $route 'account/simpleaddress/update';
            }

            if (
    $route == 'account/address/insert' && $get_route != 'account/address/insert') {
                
    $route 'account/simpleaddress/insert';
            }
            
    // SIMPLE END

            
    if ($connection == 'NONSSL') {
                
    $url $this->url;
            } else {
                
    $url $this->ssl;
            }

            
    $url .= 'index.php?route=' $route;

            if (
    $args) {
                if (
    $route == 'common/home') {
                    if (
    $connection == 'NONSSL') {
                        
    $url HTTP_SERVER str_replace('&''&amp;''?' ltrim($args'&'));
                        return 
    $url;
                    } else {
                        
    $url HTTPS_SERVER str_replace('&''&amp;''?' ltrim($args'&'));
                        return 
    $url;
                    }
                } else {
                    
    $url .= str_replace('&''&amp;''&' ltrim($args'&'));
                }
            } else {
                if (
    $route == 'common/home') {
                    if (
    $connection == 'NONSSL') {
                        return 
    HTTP_SERVER;
                    } else {
                        return 
    HTTPS_SERVER;
                    }
                }
            }

            return 
    $this->rewrite($url);

            if (
    $args) {
                
    $url .= str_replace('&''&amp;''&' ltrim($args'&'));
            }

            return 
    $this->rewrite($url);

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

            return 
    $url;
        }

        public function 
    addRewrite($hook) {
            
    $this->hook[] = $hook;
        }

        public function 
    rewrite($url) {
            foreach (
    $this->hook as $hook) {
                
    $url $hook->rewrite($url);
            }

            return 
    $url;
        }

    }

    ?>