HTACCESS将HTTPS设置为默认值,因此重定向到/将跳过第一个HTTP重定向

时间:2017-08-29 08:14:38

标签: php apache .htaccess redirect mod-rewrite

我有一个简单的htaccess重定向规则:

RewriteRule ^directory$     /   [R=301,L]

目前执行以下重定向结构:
 https://mywebsite.com/directory - > http://mywebsite.com - > https://mywebsite.com (注意HTTPS与HTTP)。

第二次重定向是由于规则设置为处理HTTP-> HTTPS重定向:

RewriteCond %{HTTP_HOST} !mywebsite.com$ [NC]
RewriteRule ^(.*)$ https://mywebsite.com/$1 [L,R=301]  

RewriteCond %{REQUEST_URI} !\.(jpg|png|gif|bmp)$ [nc]
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^(.*)$ https://%{SERVER_NAME}/$1 [R=301,L]

但我想避免这一步。如何将HTTPS设置为htaccess的默认值?

1 个答案:

答案 0 :(得分:3)

  

如何将HTTPS设置为htaccess的默认值?

只需在重定向中使用https://网址:

RewriteRule ^directory/?$ https://%{HTTP_HOST}/ [R=301,L,NE,NC]