Debian Apache2站点启用/deafult.conf重定向不正确?

Debian Apache2站点启用/deafult.conf重定向不正确?,debian,apache2,http-redirect,apache-config,Debian,Apache2,Http Redirect,Apache Config,关于我的apache2配置,我有以下问题: 我已在etc/apache2/sites启用了此文件-文件夹中: <VirtualHost *:80> ServerName example.com DocumentRoot /var/www Redirect permanent / https://example.com/ </VirtualHost> <VirtualHost _default_:443> ServerName examp

关于我的apache2配置,我有以下问题: 我已在
etc/apache2/sites启用了此文件
-文件夹中:

<VirtualHost *:80>
   ServerName example.com
   DocumentRoot /var/www
   Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost _default_:443>
  ServerName example.com
  DocumentRoot /var/www
  SSLEngine On
 # etc...
</VirtualHost>

ServerName example.com
DocumentRoot/var/www
重定向永久/https://example.com/
ServerName example.com
DocumentRoot/var/www
斯伦金安
#等等。。。
如果我输入
https://example.com/mysite/start.php
在浏览器中。 但是如果我输入
http://example.com/mysite/start.php
,我被重定向到
https://example.com/mysite/start.phpmysite/start.php
并因此获得404错误消息。 我需要在配置文件中更改什么来防止该问题?谢谢你的帮助

编辑:
如果我输入
http://example.com/mysite/
我成功重定向到
https://example.com/mysite/start.php

您应该使用重写规则,而不是使用重定向永久来实现https。 将代码替换为以下内容:

<VirtualHost *:80>
   ServerName example.com
   DocumentRoot /var/www
   RewriteEngine On
   RewriteCond %{HTTPS} off
   RewriteRule (.*) https://%{SERVER_NAME}/ [R,L]
</VirtualHost>

<VirtualHost _default_:443>
  ServerName example.com
  DocumentRoot /var/www
  SSLEngine On
 # etc...
</VirtualHost>

并确保您已经在apache中启用了重写模块。 要启用modrewrite,请访问apache2模块目录
cd/etc/apache2/mods available
运行以下命令
a2enmod rewrite.load
并重新启动apache2
服务apache2 restart

   RewriteEngine On
   RewriteCond %{HTTPS} off
   RewriteRule (.*) https://%{SERVER_NAME}/ [R,L]