双击URL后面

时间:2017-10-06 10:54:17

标签: apache .htaccess ssl url-rewriting apache2

我将任何非www和非SSL连接转发到https://www。*,并在我的.htaccess中使用此代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.lucakrebs.de/$1 [R=301,L]

但是当我尝试将这个确切的代码放在我的000-default.conf和000-default-le-ssl.conf中时,它会产生一个双斜杠(https://www.lucakrebs.de // )在URL后面。为什么呢?

1 个答案:

答案 0 :(得分:0)

  

但是当我尝试将这个确切的代码放在我的000-default.conf和000-default-le-ssl.conf中时,它会在URL后面添加一个双斜杠(https://www.lucakrebs.de//)。为什么呢?

这是因为在http服务器配置中,前导斜杠也是RewriteRule中与.htaccess文件不同的匹配。

您可以使用此规则使其在两种文件类型中的行为相同:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^/?(.*)$ https://www.lucakrebs.de/$1 [R=301,NE,L]

否则:

RewriteCond %{HTTP_HOST} !^www\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.lucakrebs.de%{REQUEST_URI} [R=301,NE,L]