URL-адреса Joomla SEF с Nginx

#redirect #nginx #joomla #url-rewriting #ngx-http-rewrite-module

#перенаправление #nginx #joomla #переписывание URL-адреса #ngx-http-rewrite-module

Вопрос:

 Gentoo Linux 4.4.8-hardened
Nginx 1.10.1
MySQL 5.6.33
PHP 5.6.26
Joomla 1.5.26
  

Переход на последнюю версию Joomla практически невозможен из-за количества пользовательских компонентов, которые были написаны за 5 лет.

Проблема в URL-адресах.

Хотя мы создали пункты меню, которые ссылаются на определенные страницы, они по-прежнему отображаются в индексе

Пример:

обычная ссылка, созданная menu, и это единственная ссылка, которая должна существовать:

 /delivery-install.html
  

но эта страница также доступна по URL-адресам такого типа:

 /delivery-install
/delivery-install/
  

Прямо сейчас я пытаюсь избежать этого с помощью 301 перенаправления, но я знаю, что это неправильно.

Как решить эту проблему?

Комментарии:

1. Все эти ссылки не являются реальными статическими файлами, все они обслуживаются PHP. Итак, единственное, что вы можете сделать в nginx, это перенаправление.

Ответ №1:

Мы, наконец, нашли решение этой проблемы, и мы задокументировали весь процесс здесь.

По сути, вам нужно будет включить cgi.fix_pathinfo и вам нужно будет установить значение PATH_TRANSLATED в fastcgi_params файле.

Основная причина проблемы заключается в том, что одна из столь необходимых переменных PHP $_SERVER передается приложению nginx пустой.

Комментарии:

1. Я только что попробовал ваше решение, оно не сработало. Ваша проблема была со всеми страницами, ведущими на домашнюю страницу, моя проблема в том, что при доступе к страницам с помощью / или .html отображается одна и та же страница, что приводит к удвоению, что очень плохо для SEO