PDA

Bekijk Volledige Versie : ivm SSL domein.nl/sub naar sub.domein.nl forceren(?)



webunity
23/09/14, 22:37
Hoi,

Ik heb een SSL certificaat geinstalleerd op een nog niet gemigreerde website. Op de huidige server gebruikt deze website aparte directories en aparte vhosts dus kun je niet naar domein.nl/sub gaan. Met DA is dat helaas anders.

Nu wil ik de volgende zaken regelen:
1) Dat http verkeer automatisch doorgestuurd word naar https://sub.domein.nl/. Hierdoor voorkom ik dat bestanden die via SSL beveiligd zouden moeten zijn, ook via HTTP bereikbaar zijn.
2) Dat domein.nl/sub/bla automatisch doorgestuurd word naar sub.domein.nl/bla

Het liefst dit alles zonder dat de klant (met DA user access) kan uitzetten. Eventueel zou ik misschien het subdomein in een andere directory kunnen zetten, dat zou natuurlijk ook helpen maar ik weet niet of het SSL certificaat wat geinstalleerd is op het hoofddomein dan nog werkt?

Aangezien ik bovenstaand verzoek onmogelijk in één Google opdracht kan formuleren hoop ik dat jullie mij kunnen helpen.

Ik kwam tot dit, maar dit lost volgens mij alleen (1) op. Het liefst stop ik het in een template vandaar de template tags.



<IfModule mod_rewrite.c>
RewriteEngine on

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

RewriteCond %{HTTP_HOST} !^|SUB|\.|DOMAIN|$ [NC]
RewriteRule ^(.*)$ https://|SUB|.|DOMAIN|/$1 [L,R=301]
</IfModule>


Punt 2 gaat volgens mij niet werken omdat ik niet weet of de punt in |DOMAIN| (tussen HOST en TLD) ook escaped zijn(?)

websiteondemand
24/09/14, 10:41
Wat bedoel je hier precies met "doorsturen"? Een redirect? Of wil je dat het subdomein alleen zichtbaar blijft in de browser, maar toch de content van domain.nl/sub/bla laat zien?

webunity
24/09/14, 11:34
Een redirect idd, zoals de mod_rewrite laat zien. Standaard maakt DA zoiets aan (als je SSL aan hebt staan iig):
/home/<user>/domains/<domein>/private_html/<subdomein>
/home/<user>/domains/<domein>/public_html/<subdomein>

Nu had ik ingesteld dat private_html een symlink moest zijn naar public_html, met als eindresultaat op disk feitlijk alleen dit:
/home/<user>/domains/<domein>/public_html/<subdomein>

<subdomein> mag enkel via https bereikbaar zijn en de website zelf mag/hoeft dan weer niet ssl te zijn, dus dan zou ik terug moeten vallen op de 'standaard' directadmin oplossing met gescheiden foldders; te weten:
/home/<user>/domains/<domein>/private_html/<subdomein>
/home/<user>/domains/<domein>/public_html/<subdomein>

Met in de https hoofdfolder een (.htaccess) redirect naar <domein> op HTTP
/home/<user>/domains/<domein>/private_html/

En in de http subdomein folder een (.htaccess) redirect naar <subdomein> op HTTPS
/home/<user>/domains/<domein>/public_html/<subdomein>/

Dan heb ik volgens mij alle scenario's goed afgevangen;
1) Dat een gebruiker via http de /<subdomein>/ folder opvraagt
2) Dat een gebruiker via https de website wil benaderen (en dus niet het subdomein waarvoor ik een cert heb)
3) Dat een gebruiker via https de /<subdomein>/ folder opvraagt, zal afgevangen worden door de .htaccess van (2)

Toch?