htaccess om domeinnaam altijd www voorloop te geven
Ik heb dit .htaccess
De bedoeling is dus om http://example.com uiteindelijk om te zetten naar https://www.example.com
Hetzelfde geldt ook voor andere TLD's.
De eerste rewrite doet het (http naar https) maar de tweede niet.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
#always use https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#always prefix with www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
# Send request through index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
#always use https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#always prefix with www.
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
# Send request through index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
De bedoeling is dus om http://example.com uiteindelijk om te zetten naar https://www.example.com
Hetzelfde geldt ook voor andere TLD's.
De eerste rewrite doet het (http naar https) maar de tweede niet.
PHP hulp
03/12/2024 19:01:06Volgens mij mis je een afsluitende $.
Maak het anders eens explicieter?
Maak het anders eens explicieter?
Het lijkt erop dat er ergens een conflict is tussen de beide rewrite rules, als ik de eerste uitrem dan werkt dit:
Toevoeging op 14/01/2016 23:39:04:
Vreemd als ik het omdraai, dus de bovenstaande code voor de https regel, dan worden http://example.com en http://www.example.com naar https://www.example.com herschreven, maar https://example.com niet.
Code (php)
1
2
2
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Toevoeging op 14/01/2016 23:39:04:
Vreemd als ik het omdraai, dus de bovenstaande code voor de https regel, dan worden http://example.com en http://www.example.com naar https://www.example.com herschreven, maar https://example.com niet.
Thomas van den Heuvel
14/01/2016 23:49:46Je zou hier eens tussen de comments kunnen kijken. Enerzijds staat daar een notitie dat %{HTTPS} off niet altijd werkt (probeer een van de alternatieven die daar genoemd worden) en anderzijds dat in sommige gevallen %{REQUEST_URI} ontdaan is van een leading slash, dus die moet je mogelijk nog toevoegen tussen %{HTTP_HOST} en %{REQUEST_URI}.
Gewijzigd op 14/01/2016 23:50:21 door Thomas van den Heuvel