Apache HTTPS Redirect URL Error

У меня есть веб-сайт Apache, и я настроил перенаправление, чтобы он всегда перешел на версию сайта HTTPS. Я добавил это под порта 80 Virtualhost Configuration:

Redirect Permential / https://example.com

Это работает нормально, как я посещаю http://example.com , он перенаправлен на https://example.com .

Но когда я посещаю сайт, как http://example.com/page.php Трейлинг Slash удаляется. Таким образом, вместо перенаправления на https://example.com/page.php Он перенаправлен на https: //example.compage.php (который приведет к ошибке).

Я использую Ubuntu и версию Apache: Apache / 2.4.29 (Ubuntu)

0
задан 23 February 2021 в 05:47

1 ответ

Самым простым способом сделать это через Apache было бы включить mod_rewrite, а затем перенаправить трафик с ответом 301.

В конфигурационном файле Apache для сайта добавьте следующее:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{HTTP_HOST} ^example\.com$
  RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
</IfModule>

Если mod_rewrite не включено, вы можете сделать так:

sudo a2enmod rewrite
sudo service apache2 restart

Это должно дать вам то, что вам нужно

0
ответ дан 18 March 2021 в 23:32

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

Похожие вопросы: