Обслуживание веб-страницы на другом языке на основе заголовков HTTP с использованием модуля согласования Apache — отображается только список каталогов.
Я хотел бы настроить Apache таким образом, чтобы, когда мы отправляем запрос с заданным языковым заголовком, сервер должен возвращать нам правильную версию. Например, у меня естьindex.eng.html
иindex.de.html
. На основании заголовка HTTP сервер должен отправить мне правильную версию. Я хочу сделать это внутри контейнера Docker.
Теперь единственное, что я вижу, это список каталогов... Что не так?
# Use the official Apache base image
FROM httpd:latest
# Install required Apache modules
RUN apt-get update && apt-get install -y apache2
# Enable necessary Apache modules
RUN a2enmod negotiation
# Copy the content files to the appropriate directory
COPY index.eng.html index.de.html index.pl.html /usr/local/apache2/htdocs/
# Append the configuration directly to the Apache configuration file
RUN echo "LoadModule negotiation_module modules/mod_negotiation.so" >> /usr/local/apache2/conf/httpd.conf
RUN echo "LanguagePriority en pl de" >> /usr/local/apache2/conf/httpd.conf
RUN echo "ForceLanguagePriority Prefer Fallback" >> /usr/local/apache2/conf/httpd.conf
EXPOSE 80
# Remove the default index.html file
RUN rm /usr/local/apache2/htdocs/index.html
# Start Apache in the foreground
CMD ["httpd", "-D", "FOREGROUND"]