Принудительно https. на htaccess возвращается список файлов. Как это исправить? - PullRequest
0 голосов
/ 24 января 2020

Здравствуйте, у нас есть веб-сайт, на котором нам нужно сопоставить каждую текущую http-страницу с https для применения ssl.

Если мы заставим SSL на сайте; SSL работает, но возвращает список файлов.

Пробовал с этим кодом

RewriteEngine on
RewriteCond %{HTTPS} on 
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

и этим кодом

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

[! [Введите описание изображения здесь] [1]] [1]

Если мы сопоставляем https с http, то сайт работает нормально, но все они не являются безопасными страницами.

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Как это исправить. Мы хотим, чтобы SSL и сайт работали правильно. Сайт построен с использованием Typo 3 cms

Дополнительная информация Я нашел индексный файл и другие файлы htaccess в папках public_html \ site и public_html \ site4. Сайт не разработан мной. Поэтому я не могу сказать, какой файл индекса является правильным. файл htacess в папке сайта пуст. однако файл htaccess в папке site4 содержит некоторый код

RewriteEngine On
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php

из cpanel. Я вижу, что сертификат действителен и правильно установлен. Можете ли вы предложить, где искать для выяснения проблемы.

Ответы [ 3 ]

1 голос
/ 25 января 2020

Так что я не могу сказать, какой файл индекса является правильным. файл htacess в папке сайта пуст. однако файл htaccess в папке site4 содержит некоторый код

Я думаю, что файлы вашего сайта находятся в подкаталоге /site4.

Тем не менее, он выглядит как DocumentRoot сайтов HTTP и HTTPS установлены по-разному. например. HTTPS установлен как /path/to/public_html, а HTTP установлен как /path/to/public_html/site4. Вы можете получить доступ к сайту по номеру https://example.com/site4/ (который выглядит без стиля, потому что он естественно не может найти таблицы стилей). http://example.com, по-видимому, имеет такое же содержимое и имеет правильный стиль.

Вы видите список каталогов при переходе к https://example.com/, потому что в каталоге public_html ничего нет (и, похоже, его не должно быть) , Отключая списки каталогов (как упоминалось в другом ответе), вы, естественно, получаете ответ 403 Запрещено.

В идеале вам необходимо установить DocumentRoot для сайтов HTTP и HTTPS одинаковыми ..., чтобы указывать на .../site4 Подкаталог Я подозреваю. Затем вам потребуется перезапустить Apache, чтобы изменения вступили в силу.

Обходной путь

В качестве обходного пути вы можете отредактировать файл public_html/.htaccess, чтобы переписать все запросы на HTTPS-документ root в подкаталог /site4. Однако то, будет ли это работать на самом деле или нет, все еще может зависеть от кода на стороне сервера, поскольку DocumentRoot отличается.

Попробуйте выполнить следующее в файле public_html/.htaccess (закомментируйте любые существующие директивы):

RewriteEngine On

RewriteRule ^ site4/index.php [L]

Это внутренне переписывает все запросы к /site4/index.php.

При условии, что есть еще один .htaccess файл на /site4/.htaccess, который также содержит директивы mod_rewrite для маршрутизации запрос тогда у вас не должно быть переписать l oop.

1 голос
/ 24 января 2020

Не думаю, что это имеет какое-либо отношение к перенаправлению http-> https.

Я думаю, ваш домен https настроен по-другому (другой документ Root в конфигурации хоста Apache или отсутствующий VirtualHost для https://.

Ваш VirtualHost по умолчанию кажется небезопасным, поскольку он позволяет просматривать файлы, которые не должны быть доступны.

0 голосов
/ 24 января 2020

Добавьте следующие строки в .htaccess, чтобы скрыть список каталогов

# hiding the directory listing
Options -Indexes
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...