Rediriger http://www.domain.fr vers https://domain.fr

WRInaute discret
J'ai le virtualhost suivant :

Code:
NameVirtualHost  *:443

<VirtualHost *:80>

    <Directory /home/www/htdocs/domain.tl/html/>

        RewriteEngine On

        RewriteCond %{HTTP_HOST} ^domain.tl$ [NC]
        RewriteRule ^(.*)$ http://fr.domain.tl/$1 [L,R=301]

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

    </Directory>

</VirtualHost>

<VirtualHost *:443>

    ServerName domain.tl
    ServerAlias www.domain.tl fr.domain.tl en.domain.tl files.domain.tl
    DocumentRoot /home/www/htdocs/domain.tl/html/

    ...

    <Directory /home/www/htdocs/domain.tl/html/>

        Options -Indexes FollowSymLinks
        AllowOverride All

        RewriteEngine On

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

    </Directory>

</VirtualHost>

Je voudrais rediriger http://www.domain.tl ou http://domain.tl vers https://fr.domain.tl

Avec cette configuration le http est bien redirigé vers https mais le sous domaine n'est pas mis à jour.

Des idées ?

Merci
 
WRInaute accro
neo765 a dit:
Que veux tu dire par là ?
Ensuite quelles sont les redirections qui ne passent pas ?
Utilise autant que possible "www.example.com" pour donner un exemple ça évite les liens sur un domaine privé :wink: .
 
WRInaute accro
neo765 a dit:
pour le moment quand je vais sur http://example.com il me redirige vers https://example.com
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ https://fr.example.com/$1 [L,R=301]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ https://fr.example.com/$1 [L,R=301]

la en doublant ta condition / règle tu as les deux cas (avec ou sans www) il doit être possible de faire plus court mais la c'est clair.
Le "ET" entre chaque "RewriteCond" est normalement implicite, donc si tu n'est pas en "https" ET qu'on sollicite "example.com" > https://fr.example.com/. Idem pour "www.example.com".

Pour le certificat c'est un autre souci pas lié au htaccess et a sa redirection.
 
WRInaute discret
Parfais !

J'ai regroupé les 2 règles en une seule :

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?example.com$ [NC]
RewriteRule ^(.*)$ https://fr.example.com/$1 [L,R=301]

Pour le certificat c'est un autre souci pas lié au htaccess et a sa redirection.

Oui, c'est parce que je n'ai pas installé de certificat sur example.com que je veux rediriger vers un sous domaine qui en possède un

Merci
 
Discussions similaires
Haut