Я установил сервер Apache2 на Linux Mint. Я настроил сайт default-ssl для использования купленного мной SSL-сертификата, и сайт по умолчанию прекрасно работает с SSL.

Однако, когда я пытаюсь получить доступ к каталогу, например example.com/thing он перенаправляет меня на https://example.com:433/thing/ и дает мне недоступный веб-сайт. Если я захожу на example.com/thing/ он перенаправляет меня на https://example.com/thing/ и все работает нормально. Как я могу это исправить?

1 ответ1

0

Вы говорите, что конфиги пытаются отправить вас по адресу:

https://example.com:433/thing/

Это кажется странным, поскольку стандартный порт https - 443 а не 433 . Может в этом проблема? В любом случае, я постараюсь помочь с проблемой косой черты.

Во-первых, я не уверен на 100% в том, как работает Linux Mint, но если у вас установлен Apache2, эта команда a2enmod должна работать, чтобы включить Apache mod_rewrite который необходим для настроек, которые вы собираетесь сделать:

sudo a2enmod rewrite

Если mod_rewrite уже включен, то выполнение этой команды не повредит; вы просто получите сообщение о том, что mod_rewrite включен. Каким бы ни было сообщение, перейдите к правилам actial rewrite.

Итак, что касается косой черты, вы можете добавить это и в свою простую конфигурацию http :

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301]

Этот RewriteCond основном говорит: «Поймайте любые URL, у которых нет завершающего слеша…», и RewriteRule который следует за ним, фактически исправит проблему с отсутствующим слешем, переписав URL, чтобы иметь слеш.

Затем добавьте это в вашу простую конфигурацию http - если у вас ее еще нет - чтобы перенаправить трафик, не являющийся https на ваш сайт https .

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Теперь, так как вы не предоставили никаких примеров используемых вами конфигов Apache, я не уверен на 100%, что этот материал будет работать «как есть», но, надеюсь, он поможет вам и поставит вас на правильный путь решения этой проблемы. И работает ли он дословно /«как есть»? Тогда здорово!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .