Toon posts:

www.example.nl naar example.nl redirecten

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo leden,

Heb even een vraagje wat betreft een .htaccess bestandje, hoe ik die moet opstellen. Ik heb al op stackoverflow gezocht en diverse hosting websites maar kom er niet helemaal uit.

Ik heb een website die ik in Google webmastertools heb aangegeven als "example.nl", dus zonder www.

Nu moet ik "www.example.nl" --redirecten--> "example.nl" (wordpress siteje). Het huidige bestandje ziet er zo uit. Dus hoe die kwam:
Afbeeldingslocatie: https://i.gyazo.com/5b714aee2f2b8838946fb0a377e8b5ff.png

Nu weet ik dat dit erin moet editten, alleen weet ik niet hoe precies. Wat is het eindproduct?
Afbeeldingslocatie: https://i.gyazo.com/6cde7a3f0a1b82554fafbf595eb0a857.png
code: huidige standaardbestand
1
2
3
4
5
6
7
8
9
10
11
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress


code: Dit is wat hierboven verwerkt moet worden
1
2
3
4
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

[ Voor 3% gewijzigd door Verwijderd op 03-04-2017 21:56 ]

Alle reacties


Acties:
  • +2 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 09-10 17:29

St@m

@ Your Service

Wellicht dat ik het verkeerd begrijp, maar moet je je DNS instellingen niet gewoon goed instellen? *.example.nl toevoegen dus?

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
St@m schreef op maandag 3 april 2017 @ 22:00:
Wellicht dat ik het verkeerd begrijp, maar moet je je DNS instellingen niet gewoon goed instellen? *.example.nl toevoegen dus?
Ik zit bij TransIP, ik dacht ook dat het via DNS kon, maar blijkbaar niet. Er staat ook geen redirect optie tussen bij DNS beheer. Ben echt een leek hierin.. 8)7
Afbeeldingslocatie: https://i.gyazo.com/78a775aff717f080f8d087f981086de2.png

Acties:
  • +1 Henk 'm!

  • St@m
  • Registratie: December 2001
  • Laatst online: 09-10 17:29

St@m

@ Your Service

Gewoon een a record aanmaken met de naam * en die verwijzen naar hetzelfde ip adres als de www verwijzing. Succes.

vuurwerk - vlees eten - tuinkachel - bbq - alcohol - voetbalwedstrijden - buitenfestivals - houtkachels


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
St@m schreef op maandag 3 april 2017 @ 22:06:
Gewoon een a record aanmaken met de naam * en die verwijzen naar hetzelfde ip adres als de www verwijzing. Succes.
Dit kan niet in TransIP. Moet echt via .htaccess

Acties:
  • 0 Henk 'm!

  • Fuwor
  • Registratie: Februari 2009
  • Laatst online: 23:15
Wat @St@m zegt kan gewoon in TransIP hoor, zojuist even uitgeprobeerd;
Afbeeldingslocatie: https://i.imgur.com/L3XDRFa.png

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Fuwor schreef op maandag 3 april 2017 @ 22:28:
Wat @St@m zegt kan gewoon in TransIP hoor, zojuist even uitgeprobeerd;
[afbeelding]
Huh, maar hoe weet je welke IP er linkt naar www.example.nl ipv example.nl? Ik kan het nergens zien en de klantenservice zei dat het niet kon alleen via .htaccess..

edit: En daarnaast lukt het niet want ik heb al een TTL record met diezelfde configuratie blijkbaar.

[ Voor 11% gewijzigd door Verwijderd op 03-04-2017 22:36 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 08-10 20:31

.oisyn

Moderator Devschuur®

Demotivational Speaker

Wat is een TTL record?

En een ip linkt niet naar een domain (ok, in feite wel, met reverse dns, maar vergeet dat). Een domain linkt naar een ip. En het is dus noodzaak dat zowel www.example.nl als example.nl wijzen naar hetzelfde ip.

Dat kan met een wildcard ('*'), zodat alles.wat.voor.je.domein.staat.example.nl automatisch goed wijst, of door een apart A-record voor 'www' toe te voegen, met dus hetzelfde ip als het A-record met de naam '@'

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Hiroj
  • Registratie: Mei 2010
  • Laatst online: 04-09 14:23
Goede vraag.

Na het correct instellen van je DNS instellingen (bij TransIP kun je gewoon een wildcard instellen. Anders moet je een CNAME record aanmaken, met de naamwaarde @.), kun je onderstaande code gebruiken in je htaccess.

code:
1
2
3
4
#Force non-www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

Acties:
  • 0 Henk 'm!

  • Paul
  • Registratie: September 2000
  • Laatst online: 20:00
Wat werkt er niet aan je originele vraag?

Er wordt hier al snel vanuit gegaan dat het probleem in je DNS zit, maar de meeste hosters wijzen WWW en @ default al naar je webserver. Mogelijk heb je hier dingen veranderd of heb je een andere webhoster, dan moet je inderdaad records aanmaken. Zomaar een wildcard (*) daarvoor gebruiken kan echter onvoorziene gevolgen hebben in de toekomst die je nu voorkomt door de specifieke records aan te maken. Ik zeg niet dat het nooit de oplossing is, maar aangezien we het hier over maar liefst twee hele namen hebben pakken we er nog niet het kanon bij om op die mug te gaan schieten...

Zorg dus dat je in de DNS twee A-records hebt, eentje met "www" en een lege, of met "@" (afhankelijk van hoe TransIP het heeft ingeregeld), dat is je "example.nl". Beiden wijzen naar het IP-adres van je webserver.

@Hiroj: Een CNAME op @ naar WWW is geen best practice, dit conflicteert met SOA en NS-records.

Dit zorgt er echter alleen maar voor dat je computer bij de goede webserver uitkomt als je een van die twee adressen intypt in je browser, je moet ook de webserver vertellen wat deze ermee moet doen. Waarschijnlijk heb je een VirtualHost met daarin zowel de versie met als zonder www (of een wildcard) gekregen van je hoster, wat er voor zorgt dat de webserver weet welke website het moet serveren bij verzoeken voor die naam.

Nu komt jouw verzoek kijken: zo te lezen wil je dat wanneer men de versie met WWW intypt, dat men uitkomt op de versie zonder WWW, waarbij dus ook de URL-balk in de browser veranderd?

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


Acties:
  • +1 Henk 'm!

  • igmar
  • Registratie: April 2000
  • Laatst online: 21:08

igmar

ISO20022

Je moet wel redirecten, anders zit je straks met dubbele content op het www en zonder www record. Google vind dat niet zo erg leuk.

code:
1
2
3
4
5
6
7
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

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


Beter is een aparte vhost aan te maken (regexpen zijn relatief traag), maar dat kan niet altijd.

Acties:
  • +1 Henk 'm!

  • FrankHe
  • Registratie: November 2008
  • Laatst online: 18:42
Persoonlijk zou ik zelfs alles naar HTTPS sturen. Dan is je website direct mooi compliant met de opkomende standaard. HTTP kan eigenlijk niet meer.

code:
1
2
3
4
5
6
7
8
9
RewriteCond %{HTTPS} off
# stuur www en www-loos http verkeer naar www-loss https
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTPS} on
# stuur www https verkeer naar www-loos https
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Acties:
  • 0 Henk 'm!

  • x86dev
  • Registratie: December 2012
  • Laatst online: 19-09 20:25
FrankHe schreef op dinsdag 4 april 2017 @ 09:17:
Persoonlijk zou ik zelfs alles naar HTTPS sturen. Dan is je website direct mooi compliant met de opkomende standaard. HTTP kan eigenlijk niet meer.

code:
1
2
3
4
5
6
7
8
9
RewriteCond %{HTTPS} off
# stuur www en www-loos http verkeer naar www-loss https
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTPS} on
# stuur www https verkeer naar www-loos https
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Dus; je checkt eerst of de hostname voldoet aan 'www.*' en daarna stuur je de gebruiker naar HTTP_HOST, ofwel; www.website.nl.. Dit geeft dus een inf loop.

Acties:
  • 0 Henk 'm!

  • boevertje
  • Registratie: Oktober 2007
  • Niet online
Als je niet zeker weet of de dns goed is, probeer eens een ping.

Eerst jewebsite.nl en daarna www.jewebsite.nl
Belangrijk dat de eerste succesvol is. Als dat het geval is moet het eigenlijk met een .htaccess werken tenzij het controle paneel dat afdwingt (ik draai plesk en die forceert standaard alles naar www).

Succes!

Acties:
  • 0 Henk 'm!

  • Hiroj
  • Registratie: Mei 2010
  • Laatst online: 04-09 14:23
Paul schreef op dinsdag 4 april 2017 @ 08:27:

@Hiroj: Een CNAME op @ naar WWW is geen best practice, dit conflicteert met SOA en NS-records.
Nooit geweten, thanks voor de tip! Wel vreemd dat TransIP dit zelf in hun standaard DNS instellingen gebruikt.

Acties:
  • 0 Henk 'm!

  • EagleTitan
  • Registratie: Januari 2004
  • Niet online
Paul schreef op dinsdag 4 april 2017 @ 08:27:

@Hiroj: Een CNAME op @ naar WWW is geen best practice, dit conflicteert met SOA en NS-records.
Daar staat toch alleen dat je geen CNAME-record als root kunt inzetten? Dus www.example.com als CNAME-record voor example.com is goed, maar example.com kan niet als CNAME-record verwijzen naar www.example.com, omdat dan de authority niet gevalideerd kan worden (je mag tenslotte geen SOA of NS records op hetzelfde niveau hebben als een CNAME-record).

[ Voor 19% gewijzigd door EagleTitan op 04-04-2017 13:34 ]


Acties:
  • 0 Henk 'm!

  • Paul
  • Registratie: September 2000
  • Laatst online: 20:00
EagleTitan schreef op dinsdag 4 april 2017 @ 13:33:
Daar staat toch alleen de je geen CNAME-record als root kunt inzetten?
Dat zeg ik toch? :P

Overigens niet alleen voor root, als je MX-records hebt die naar mail01 wijzen (bijvoorbeeld) dan is mag mail01 ook geen CNAME zijn. De korte samenvatting is: Als je de naam ook nog ergens anders voor gebruikt mag het geen CNAME zijn :P

[ Voor 37% gewijzigd door Paul op 04-04-2017 13:43 ]

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


Acties:
  • 0 Henk 'm!

  • EagleTitan
  • Registratie: Januari 2004
  • Niet online
Ik heb meer koffie nodig :O
Hiroj schreef op dinsdag 4 april 2017 @ 11:55:
[...]

Nooit geweten, thanks voor de tip! Wel vreemd dat TransIP dit zelf in hun standaard DNS instellingen gebruikt.
Ze stellen www.example.com in als CNAME voor example.com, niet andersom

[ Voor 48% gewijzigd door EagleTitan op 04-04-2017 13:38 ]


Acties:
  • 0 Henk 'm!

  • WhatsappHack
  • Registratie: Mei 2011
  • Niet online
Misschien zie ik iets over het hoofd; maar hoe is dit topic vanuit een zeer simpele vraag om al het www traffic naar non-www te redirecten, ontaard in een discussie over DNS-records? Het aanmaken van een record zorgt dat het bij 't zelfde IP komt, maar dan heb je nog steeds geen redirect van www -> non-www. Dat doe je het liefst in httpd.conf, maar als je daar geen toegang toe hebt inderdaad met rewrite. Ik zie de relevantie van de DNS records niet, er vanuitgaande dat www. al prima werkte voor de OP. Immers klaagt hij niet dat www.zijnsite.nl niet laadt, maar louter dat hij het wil redirecten naar zijnsite.nl; zonder de www ervoor dus... De relevante DNS records waren dus blijkbaar al aanwezig, geen reden om ermee te gaan klooien.

Als ik het me goed herinner redirect WordPress overigens automatisch naar non-www als je dat instelt als je site_url. Stel je dat niet in, dan kan je ook vervelende zaakjes als redirect loops krijgen als je wordpress wél naar www. opzoek is in de URL.

Trouwens, een wildcard DNS-entry? Als dat nodig is, dan is er meestal ook gewoon een makkelijker alternatief: je domein op de juiste nameservers instellen en gewoon de DNS-records laten beheren door de vanaf dat moment authorative server. :P

[ Voor 20% gewijzigd door WhatsappHack op 04-04-2017 20:57 ]

Geen quote of mention @WhatsappHack? Dan niet raar opkijken als je geen reactie krijgt. ;)


Acties:
  • 0 Henk 'm!

  • Cascade
  • Registratie: Augustus 2006
  • Laatst online: 07-10 09:21
Rewrite kan. Inderdaad een kwestie van %{HTTP_HOST} met www herschrijven naar zonder www, zoals bijv. ook op wiki staat: Wikipedia: HTTP 301

Ook een optie is om gebruik te maken van mod_alias in Apache HTTP Server.

In het kort:
code:
1
2
3
4
<VirtualHost *>
  ServerName www.example.com
  Redirect 301 / http://example.com/
</VirtualHost>


Discussie hier: http://serverfault.com/qu...within-apache-virtualhost
Uitleg hier: https://www.digitalocean....cts-with-apache-and-nginx

Geen ervaring met mod_alias maar ziet er uit als een mogelijke oplossing.

Maar goed, dan moet je wel schrijfrechten op je Apache httpd.conf hebben of dit toegestaan zijn voor de .htaccess.

Dit kan niet met DNS alleen. DNS vertaalt (grotendeels) alleen een naam naar een IP, als het uiteindelijk op dat IP komt mag je het zelf afhandelen. Soms heeft een domeinboer een extra doorverwijsservice waarmee het wel kan.

Meteen Redirect naar HTTPS werd geopperd. Goede oplossing, bedenk wel dat alleen een redirect van HTTP naar HTTPS niet genoeg is; jouw web server moet er voor ingericht zijn om HTTPS aan te kunnen (modules aanzetten, certicaat installeren, configureren). Leuk voor later?

Iets om bij stil te staan is de keuze voor een 301 Redirect, dit is Moved Permanently en kan gevolgen hebben voor jouw indexering als je toch besluit om later toch de www versie te gebruiken als 'hoofd' domein voor de website. Ik weet niet wat de beste keuze is hier.

Acties:
  • 0 Henk 'm!

  • FrankHe
  • Registratie: November 2008
  • Laatst online: 18:42
x86dev schreef op dinsdag 4 april 2017 @ 10:32:
[...]
Dus; je checkt eerst of de hostname voldoet aan 'www.*' en daarna stuur je de gebruiker naar HTTP_HOST, ofwel; www.website.nl.. Dit geeft dus een inf loop.
Je ziet de bovenstaande conditie over het hoofd. "RewriteCond %{HTTPS} off"

Wanneer je van http://(www\.)? herschijft naar https://www. dan is "RewriteCond %{HTTPS} off" waar.
Als je binnenkomt op https://(www\.)? dan is "RewriteCond %{HTTPS} off" onwaar en "RewriteCond %{HTTPS} on" waar. Als het goed is ontstaat er dan geen loop.
Pagina: 1