Не работают ЧПУ в Joomla в режиме PHP-FPM

Evgeniy Subbotin добавил(а) 3 года назад
Известна

При установке режима PHP в режим FastCGI (nignx+PHP-FPM) перестают работать ЧПУ вида http://example.com/index.php/some-joomla-test-url. Подобные URL вместо того, чтобы направляться на обработку в PHP-FPM расцениваются как поиск несуществующего файла some-joomla-test-url в несуществующем каталоге index.php и, соответственно, подобные ссылки ведут на страницу 404.

Пример ошибок:

2018/01/30 00:06:36 [error] 14511#14511: *1 openat() "/var/www/www-root/data/www/example.com/index.php/some-joomla-test-url" failed (20: Not a directory), client: 192.168.0.1, server: example.com, request: "GET /index.php/some-joomla-test-url HTTP/1.1", host: "example.com", referrer: "http://example.com/index.php";

Лучший ответ
фото

Такая же ошибка для WordPress.

В конфиг нужно добавить:

location / {
            try_files $uri $uri/ /index.php?$args; # permalinks
        }

Комментарии (1)

фото
1

Панель формирует стандартный конфиг nginx для домена, для того, чтобы у вас работали ссылки вам следует перенести правила из .htaccess в конфигурационный файл nginx.

фото
1

В этом режиме в Joomla не используются никакие правила и отсутствут файл .htaccess так, как в нём нет необходимости. В режиме "Модуль Apache" или FastCGI (Apache) всё работает, а в режиме FastCGI (nginx+PHP-FPM) ссылки вида index.php/some-joomla-test-url не работают. Здесь явная ошибка в шаблоне конфигурации веб-сервера.

фото
2

Такая же ошибка для WordPress.

В конфиг нужно добавить:

location / {
            try_files $uri $uri/ /index.php?$args; # permalinks
        }

фото
2

Дело в том, что во многих панелях есть перднастроеные конфиги nginx (пресеты) для движков, как WP или Joomla, ispmanager отстает в этих удобствах и уже довольно давно. Застряли на 90х.

Это системное отставание и местами сильно не удобное ( админу прийдется вручную править конфиги для каждого сайта, если вы подключаете PHP-FPM - ни каких вам тут пресетов и преднастроек в пользовательстком интерфейсе - работай админ руками как в старые 90е!

фото
2

Дмитрий, а что Вам мешает создать свои пресеты?

Голый WP, либо Joomla ни кто не использует, а под все возможные модули/плагины/компоненты на разных CMS, сделать пресеты физически не возможно.

фото
1

Виктор, да, согласен, отчасти. Но, это не повод предлагать всем юзать апач с файлами .htaccess.

Проблемы с плагинами есть и будут всегда, это проблема которую нужно решать ISP, а не избегать ее со словами - юзайте апач )) Далеко не все компании могут такое позволить, не потеряв при этом часть сегмента.

Теперь по делу, есть универсальные конфиги nginx, и большинство движков работают (пусть местами коряво, но установить можно). И специализированные под cms или фреймворк (и с настройкой безопасности директорий и чпу, ибо htaccess теперь не юзается)!

Так что же мне мешает сделать пресеты самому... ах да ISPmanager! он ограничивается только 2мя вариантами решения проблемы:


  • настроить раз и навсегда, только под битрикс! или wp или ...
  • вручную для каждого сайта прописать свой конфиг по запросу юзера )) что, в общем-то нереально! и получим больше проблем, чем пользы.

Методы 90х мы тут не рассматриваем они и так работают даже без участия ISP. А что есть на одном сервере мне захотелось и битрикс и wp и на yii чего ни будь и только с php-fpm ?? Мне нравиться дизайн ISPmanager, лучший среди прочих, на МОЙ взгляд, но функционал очень жестко ограничен. До сих пор с nat проблемы не решили, и еще хотел бы обратить внимание разработчиков ISP systems на облачное лицензирование (пример как сделано в CHR компании mikrotik), на мой взгляд, лучшая реализация схемы лицензирования.

фото
1

Не работают ЧПУ в CMS Made Simple. Невозможно настроить ЧПУ на домене 3-го уровня. Отображается только главная страница

- при переходе на остальные страницы все равно отображается главная. Шаблон "Стандартный", тип обработчика FastCGI (Nginx+PHP-FPM).

фото