#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