Обслуживание веб-страницы на другом языке на основе заголовков 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"]

0 ответов

Другие вопросы по тегам