Приветствую специалистов по архитекторе Друпала.
Делаю rss ленту. Стандартный функционал по rss из views меня не устраивает, поэтому хочу вывести нужные поля в page-представление и создать таким образом ленту.
Основная проблема: как сделать у этого представления путь: /news/rss.xml ?
Сейчас если задаю подобный путь меня перенаправляет на
sitename.com/news/rss.xml?q=/news/rss.xml
Комментарии
Хм. Очень странно, но на реальном сервере этот путь работает. А на docker4drupal нет. Где это задается?
Судя по параметру ?q= пытается перенаправить на корневой index.php
Вы пробовали указывать путь представления без слеша в начале (или наоборот) ?
В Д9 слеш в настройках пути страницы предастваления удаляется автоматически.
Решить вопрос синонимами не пробовали?
Скажем путь представления - любой произвольный, например, /news_rss, а далее для него создать синоним уже вида /news/rss.xml
Проблема в том, что на реальном сервере все как надо, а у меня на локалке возникает перенаправление. Значит это где-то настраивается....
Попробуйте определить и выделить проблемные части пути для указанного вами адреса /news/rss.xml.
Например:
/news - ok
/news/rss - ok
/news/rss.xml - fail
Возможно, что-то подскажет. Может, в докере где-то специальные дополнительные настройки переадресации апача для файлов .xml
.htaccess полностью идентичен тому, что на сетевом хостинге?
/news - ok
/news/rss - ok
/news/rss.xml - fail
как раз так и происходит. Любой путь, что заканчивается на .xml редиректит.
.htaccess - да идентичен.
Ну вы не указали версию, но, скажем, в дефолтном .htaccess для D9 отсутствует какая-либо спец.обработка для .xml - и вообще нет никаких упоминаний.
1. Возможно, где-то в конфе апача на докере что-то прописано. Мне кажется это самым первым кандидатом.
2. Либо, как вариант - какой-то друпаловский хендлер криво обрабатывает запросы .xml. Может, кастомный модуль.
"в конфе апача на докере что-то прописано" - тоже к этому склоняюсь.
А как узнать где это конфиг лежит? Что в гугл вбить? "docker4drupal apache config" - не находит...
Не знаю, докер не использую. Видимо, как обычно, искать где-то в /etc/apache2/conf
Вот такое ещё упоминание попалось в гугле:
./conf/inetprocess/vhost.conf:/etc/apache2/sites-available/vhost.conf
Но это для виртуальных хостов. Где-то рядом должны лежать и основные конфы.