Hoi,

op dit moment gebruik ik volgende code om iedereen automatisch door de linken naar de https omgeving.


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


Nu gaat hij in feite van site.nl/home.html naar https://site.nl/home.html?p=home

Weet iemand hoe ik alleen door laat verbinden naar de direct ingetypte url bijvoorbeeld van site.nl/home.html naar https://site.nl/home.html zonder extra toepassingen?

Alvast bedankt!
Dit lijkt mij los van het rewriten van HTTP -> HTTPS te staan.
Je moet gewoon home.html?p=home rewriten naar home.html.

Maar waarom gewoon je script niet aanpassen dat je met een lege $_GET al je inhoud van home pakt?
- Ariën - op 23/11/2016 21:12:53

Dit lijkt mij los van het rewriten van HTTP -> HTTPS te staan.
Je moet gewoon home.html?p=home rewriten naar home.html.

Maar waarom gewoon je script niet aanpassen dat je met een lege $_GET al je inhoud van home pakt?

Het is zo dat HTACCESS al eerder bepaald dat home.html in feite ?p=home is, nu pakt hij dat mee, terwijl dat niet moet.


Toevoeging op 23/11/2016 21:19:46:


RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [NC,L]
RewriteRule ^(.*).html?(.*)$ index.php?p=$1&%{QUERY_STRING}
RewriteRule ^(.*).html$ index.php?p=$1


Heb even de request omgezet, eerst stond .html daarna pas de https, nu lijkt het wel te werken. we gaan het testen.
index.php kan prima $_SERVER['REQUEST_URI'] inspecteren, dit hoef je niet nogmaals te vangen in $_GET['p']... Mogelijk wil je $_GET['p'] voor andere zaken gebruiken, zoals bijvoorbeeld een paginering?

Houd $_GET transparant!

Je zou de laatste twee regels simpelweg kunnen vervangen door:
RewriteRule . index.php [L,QSA]

?

Reageren