Проблема с mod_rewrite Есть решение

Доброго дня - возникла следущая ситуация:

Устанавливая фреймворк при проверке совместимости на пункте Модуль сервера: mod_rewrite PHP запущен в режиме CGI серый крест.

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

Установив фреймворк - поправил и htaccess и /wa-config/config.php

результат - index.php в ссылках присутствует

Содержимое htaccess

<FilesMatch "\.md5$">

Deny from all

</FilesMatch>


DirectoryIndex index.php

Options -Indexes

# Comment the following line, if option Multiviews not allowed here


AddDefaultCharset utf-8


<ifModule mod_rewrite.c>

RewriteEngine On

# Uncomment the following line, if you are having trouble

RewriteBase /


RewriteCond %{REQUEST_URI} !\.(js|css|jpg|jpeg|gif|png)$ [or]

$

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php [L,QSA]

</ifModule>


<ifModule mod_headers.c>

<FilesMatch "\.(jpg|jpeg|png|gif|js|css)$">

Header set Cache-Control "max-age=3153600, public"

</FilesMatch>

</ifModule>

Содержимое /wa-config/config.php

<?php

return array (

'debug' => true,

'identity_hash' => '***',

'mod_rewrite' => '1',

);


Работаю с фреймворком не первый раз - никогда не сталкивался с таким




5 ответов

  • 2
    Леонид Вакуленко Webasyst 26 марта 2015 03:53 # Решение

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

    Первое безумное предположение. index.php каким-то чудом попал в строку-домен в wa-config/routing.php

    Второе безумное предположение. Отрабатывает wa-system/config/waSystemConfig.class.php, строка 212. Лечится переопределением метода в wa-config/SystemConfig.class.php: либо переопределить init(), который вызывается после configure(), либо сам configure().

    • +1
      ClassicCode ClassicCode 26 марта 2015 07:41 #

      Сработало второе безумное предположение - поправил строку 212 wa-system/config/waSystemConfig.class.php

      с false на true.

      Спасибо

      • +1

        Не трогайте wa-system - он перезапишется при обновлении. Если менять, то через наследование в wa-config/SystemConfig.class.php

        Вообще, я должен сказать, что это очень подозрительно. Переопределение self::$system_options['mod_rewrite'] из конфига происходит в init(), то есть ПОСЛЕ configure(). Если этого не произошло, значит, что-то сильно не так. Например, root_path неправильный, или нет прав на wa-config/config.php, или конфиг не такой, как вы думаете, или что-то ещё. Я рекомендую разобраться в этом подробнее, чтобы избежать других возможных проблем.

        • +1
          ClassicCode ClassicCode 26 марта 2015 08:41 #

          Очень странно - убрал в wa-system/config/waSystemConfig.class.php на 212 строке обратно на false и работает все хорошо

  • 2
    Patrick Franko 6 марта 2016 11:44 #

    Простите, но у меня такая же проблема - "Модуль сервера: mod_rewrite PHP запущен в режиме CGI<!-- placeholder -->
    Есть возможность использовать ЧПУ<!-- placeholder --> "

    Честно говоря с комментариев не очень понял как ее решить.
    Можете подробно описать, что нужно сделать?

  • 1
    Михаил Ушенин Webasyst 26 марта 2015 03:10 #

    "Серый крест + PHP запущен в режиме CGI" — потому что недоступна функция apache_get_modules.
    См. строки 309—327 в файле wa-installer/lib/classes/wainstallerrequirements.class.php

    Если конфиг вы подправили, а ссылки всё равно содержат index.php, попробуйте очистить кеш в Инсталлере.

  • 1
    sid sid 27 апреля 2018 22:27 #

    Уважаемые разработчики и группа поддержки

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

    Модуль сервера: mod_rewrite PHP запущен в режиме CGI Есть возможность использовать ЧПУ

    Прошу помочь!!! Спасибо

    P.S. пользуюсь хостингом reg.ru

  • 1
    sid sid 29 апреля 2018 19:44 #
    нашел решение проблемы!!!! Поставил webasyst(ace49bf996e3f85bfa4b3e8d95729886)(1.6.3.97).framework.tar


    и накатил обновление! все работает! но все равно прошу разобраться!

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите