Website bezoeker omzetten naar juiste url (htaccess of php)

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Beste lezer,

Ik kom ergens niet helemaal uit en dat is het volgende:

Er komt een bezoeker binnen via https://www.domein-A.nl/categorie/test/100.html of https://www.domein-B.nl/homepage/test2 waar een hypelink staat naar de oude url op onze website bijvoorbeeld https://onsdomein/categorie/oudeurl

Ze hebben dus op een link geklikt die niet meer naar de juiste pagina linkt en dat wil ik afvangen door wel naar de juiste te linken. Alleen intern weet ik wel hoe dat moet als je zelf van domein verandert. Maar dit zijn links die vanaf andere domeinen komen, maar nog wel naar een pagina linken die er is maar niet de juiste is.

Dus ja hoe kan ik dit doen ? (htaccess of php) of gewoon met een wordpress plugin?

https://www.rbwebpromotions.nl/

Beste antwoord (via NECAnGeL op 13-11-2020 14:25)


  • Oon
  • Registratie: Juni 2019
  • Niet online

Oon

NECAnGeL schreef op vrijdag 13 november 2020 @ 14:14:
[...]


ow ja dus ik moet dan in de htaccess een oproep doen naar een php bestand daar de redirect en en dan door gaan.
Ik moet eerlijk zeggen dat ik niet weet of WordPress redirects afhandelt voordat de functions.php geladen wordt, maar je kunt het altijd proberen. Dan zou je helemaal geen htaccess aanpassingen hoeven doen en kun je gewoon $_SERVER['HTTP_REFERER'] controleren

Alle reacties


Acties:
  • +1 Henk 'm!

  • NotSoSteady
  • Registratie: April 2010
  • Laatst online: 14:53
Je kan het doen met htaccess.

https://support.hoasted.c...-handige-htaccess-scripts

[ Voor 53% gewijzigd door NotSoSteady op 13-11-2020 11:29 ]


Acties:
  • +1 Henk 'm!

  • Oon
  • Registratie: Juni 2019
  • Niet online

Oon

In WordPress kun je hier redirects voor aanmaken (die evt. door wp_old_slug_redirect() opgepikt kunnen worden) of een andere plug-in gebruiken die hier 301 redirects van maakt.

Als het gaat om een volledige domeinnaam (of een vaste lijst pagina's) is het slimmer om htaccess te gebruiken zodat deze redirect gebeurt zonder eerst via PHP en WordPress te lopen. Je kan dan iets als dit gebruiken:

code:
1
2
3
4
5
6
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.olddomain.com$
  RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]
</IfModule>


Ik zou het wel eerst testen zonder er een 301 van te maken, dat scheelt weer een aantal keer je cache legen tijdens het testen

Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
dit is dan toch als de url het zelfde is en op domein niveau of ook voor een gehele url? Want zou je dan eens het voorbeeld kunnen maken?

https://www.rbwebpromotions.nl/


Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Oon schreef op vrijdag 13 november 2020 @ 11:32:
In WordPress kun je hier redirects voor aanmaken (die evt. door wp_old_slug_redirect() opgepikt kunnen worden) of een andere plug-in gebruiken die hier 301 redirects van maakt.

Als het gaat om een volledige domeinnaam (of een vaste lijst pagina's) is het slimmer om htaccess te gebruiken zodat deze redirect gebeurt zonder eerst via PHP en WordPress te lopen. Je kan dan iets als dit gebruiken:

code:
1
2
3
4
5
6
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.olddomain.com$
  RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]
</IfModule>


Ik zou het wel eerst testen zonder er een 301 van te maken, dat scheelt weer een aantal keer je cache legen tijdens het testen
Dit gaat zeker niet werken:

code:
1
2
3
4
5
6
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^domein-A.nl/categorie/test/100.html$ [OR]
  RewriteCond %{HTTP_HOST} ^www.domein-A.nl/categorie/test/100.html$
  RewriteRule (.*)$ http://www.newdomain.com/categorie/pagina.html [R=301,L]
</IfModule>


moet dit voor 300 url(s) gaan doen

[ Voor 0% gewijzigd door NECAnGeL op 13-11-2020 11:43 . Reden: spatie te veel ]

https://www.rbwebpromotions.nl/


Acties:
  • 0 Henk 'm!

  • NotSoSteady
  • Registratie: April 2010
  • Laatst online: 14:53
NECAnGeL schreef op vrijdag 13 november 2020 @ 11:33:
[...]


dit is dan toch als de url het zelfde is en op domein niveau of ook voor een gehele url? Want zou je dan eens het voorbeeld kunnen maken?
code:
1
Redirect 301 /voorbeeld.html https://www.domein.nl/voorbeeld/


Van oud naar nieuw. Dat is de enige regel die je nodig hebt.

[ Voor 10% gewijzigd door NotSoSteady op 13-11-2020 11:46 ]


Acties:
  • +1 Henk 'm!

  • Oon
  • Registratie: Juni 2019
  • Niet online

Oon

NECAnGeL schreef op vrijdag 13 november 2020 @ 11:43:
[...]


Dit gaat zeker niet werken:

code:
1
2
3
4
5
6
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^domein-A.nl/categorie/test/100.html$ [OR]
  RewriteCond %{HTTP_HOST} ^ www.domein-A.nl/categorie/test/100.html$
  RewriteRule (.*)$ http://www.newdomain.com/categorie/pagina.html [R=301,L]
</IfModule>


moet dit voor 300 url(s) gaan doen
Voor specifieke URLs kan het makkelijker, maar met zo'n hoeveelheid is een WP plugin misschien toch het makkelijkst, aangezien je al in dat ecosysteem zit. De meeste plugins (zoals deze) kun je dan gewoon alle 300 URLs inladen. Dit is wel trager dan htaccess omdat eerst WordPress ingeladen moet worden.

[ Voor 4% gewijzigd door Oon op 13-11-2020 11:46 ]


Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Oon schreef op vrijdag 13 november 2020 @ 11:46:
[...]


Voor specifieke URLs kan het makkelijker, maar met zo'n hoeveelheid is een WP plugin misschien toch het makkelijkst, aangezien je al in dat ecosysteem zit. De meeste plugins (zoals deze) kun je dan gewoon alle 300 URLs inladen. Dit is wel trager dan htaccess omdat eerst WordPress ingeladen moet worden.
ik ga die plugin eens inlezen want die heb ik al eerder getest maar misschien iets over het hoofdgezien. Volgens mij heb ik dit al eens getest Referrer – redirect if the user visited the link from another page maar ging niet zoals we wouden.

[ Voor 10% gewijzigd door NECAnGeL op 13-11-2020 11:58 ]

https://www.rbwebpromotions.nl/


Acties:
  • 0 Henk 'm!

  • Oon
  • Registratie: Juni 2019
  • Niet online

Oon

NECAnGeL schreef op vrijdag 13 november 2020 @ 11:55:
[...]


ik ga die plugin eens inlezen want die heb ik al eerder getest maar misschien iets over het hoofdgezien.
Anders zijn er een hele hoop anderen, maar ik weet dat die specifieke plugin als het goed is ook een CSV-bestand in kan lezen

Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Ik heb nu onderstaande even op een andere site gedaan zodat het duidelijk is wat ik bedoel. Maar ik kom nu dus nog steeds op de homepage en niet op de categorie pagina.

de url waar dit staat is https://seomarketingdeals...spagina/rb-webpromotions/ vanaf daar ga ik naar de homepage maar wil uitkomen op de sub page.

Afbeeldingslocatie: https://tweakers.net/i/pOfCuhOS2dubjyqDwotjxREHuFc=/800x/filters:strip_exif()/f/image/vrwgQy9lEYkZvUhOs0aVYYQ1.png?f=fotoalbum_large

[ Voor 13% gewijzigd door NECAnGeL op 13-11-2020 12:17 ]

https://www.rbwebpromotions.nl/


Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Oon schreef op vrijdag 13 november 2020 @ 11:46:
[...]


Voor specifieke URLs kan het makkelijker, maar met zo'n hoeveelheid is een WP plugin misschien toch het makkelijkst, aangezien je al in dat ecosysteem zit. De meeste plugins (zoals deze) kun je dan gewoon alle 300 URLs inladen. Dit is wel trager dan htaccess omdat eerst WordPress ingeladen moet worden.
maar kan het wel in htaccess wat ik wil? Ik kan zo een bulk hiervan maken in een tool.

https://www.rbwebpromotions.nl/


Acties:
  • 0 Henk 'm!

  • Oon
  • Registratie: Juni 2019
  • Niet online

Oon

NECAnGeL schreef op vrijdag 13 november 2020 @ 12:14:
Ik heb nu onderstaande even op een andere site gedaan zodat het duidelijk is wat ik bedoel. Maar ik kom nu dus nog steeds op de homepage en niet op de categorie pagina.

de url waar dit staat is <>vanaf daar ga ik naar de homepage maar wil uitkomen op de sub page.

[Afbeelding]
Het kan wel in htaccess, ja. Je kan gewoon een bom van redirects erin gooien, bijv.

code:
1
2
3
Redirect 301 /voorbeeld.html /voorbeeld/
Redirect 301 /voorbeeld2.html /voorbeeld2/
Redirect 301 /voorbeeld3.html /voorbeeld3/


Ik weet niet wat precies je setup is, maar zolang de ouder URLs nooit gebruikt worden op de nieuwe locatie werkt dit zonder problemen.
Als dat wel het geval is en je oude domeinnaam een losse vhost (en eigen webroot/htaccess) heeft zou je daar ook iets als dit kunnen plaatsen:
code:
1
2
3
4
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ http://nieuwedomeinnaam.nl/oudeurls/$1 [R=301,L]
</IfModule>


Dan kun je daarna matchen op 'oudeurls/<naam>'

Maar in het simpelste geval kun je gewoon 300x het formaat 'Redirect 301 <bron> <doel>' gebruiken in je .htaccess

Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Oon schreef op vrijdag 13 november 2020 @ 13:10:
[...]


Het kan wel in htaccess, ja. Je kan gewoon een bom van redirects erin gooien, bijv.

code:
1
2
3
Redirect 301 /voorbeeld.html /voorbeeld/
Redirect 301 /voorbeeld2.html /voorbeeld2/
Redirect 301 /voorbeeld3.html /voorbeeld3/


Ik weet niet wat precies je setup is, maar zolang de ouder URLs nooit gebruikt worden op de nieuwe locatie werkt dit zonder problemen.
Als dat wel het geval is en je oude domeinnaam een losse vhost (en eigen webroot/htaccess) heeft zou je daar ook iets als dit kunnen plaatsen:
code:
1
2
3
4
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.*)$ http://nieuwedomeinnaam.nl/oudeurls/$1 [R=301,L]
</IfModule>


Dan kun je daarna matchen op 'oudeurls/<naam>'

Maar in het simpelste geval kun je gewoon 300x het formaat 'Redirect 301 <bron> <doel>' gebruiken in je .htaccess
Misschien om het duidelijker te maken. Er is een website die heeft een link geplaatst naar mijn homepage. Mensen klikken daarop en komen op mijn homepage en dat moet dus niet. Die moeten uitkomen op de categorie pagina. Want google gooit nu ook alle trustflow op de homepage :(

helaas is de webmaster die het heeft gedaan totaal onbereikbaar.

https://www.rbwebpromotions.nl/


Acties:
  • 0 Henk 'm!

  • Oon
  • Registratie: Juni 2019
  • Niet online

Oon

NECAnGeL schreef op vrijdag 13 november 2020 @ 13:30:
[...]


Misschien om het duidelijker te maken. Er is een website die heeft een link geplaatst naar mijn homepage. Mensen klikken daarop en komen op mijn homepage en dat moet dus niet. Die moeten uitkomen op de categorie pagina. Want google gooit nu ook alle trustflow op de homepage :(

helaas is de webmaster die het heeft gedaan totaal onbereikbaar.
Staat die link dan op meerdere pagina's (dus je wil referrer pagina matchen naar de juiste pagina)? Anders snap ik niet hoe je zou kunnen achterhalen op welke pagina ze wél uit moeten komen

Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Oon schreef op vrijdag 13 november 2020 @ 13:31:
[...]

Staat die link dan op meerdere pagina's (dus je wil referrer pagina matchen naar de juiste pagina)? Anders snap ik niet hoe je zou kunnen achterhalen op welke pagina ze wél uit moeten komen
dit is toevallig een pagina waar het opstaat. Maar kunnen we niet aan de hand van de url vanaf waar je klikt dat afvangen aan onze kant?


dus je wil referrer pagina matchen naar de juiste pagina (Klopt)

https://www.rbwebpromotions.nl/


Acties:
  • +1 Henk 'm!

  • Oon
  • Registratie: Juni 2019
  • Niet online

Oon

NECAnGeL schreef op vrijdag 13 november 2020 @ 13:50:
[...]


dit is toevallig een pagina waar het opstaat. Maar kunnen we niet aan de hand van de url vanaf waar je klikt dat afvangen aan onze kant?


dus je wil referrer pagina matchen naar de juiste pagina (Klopt)
Dan zul je een RewriteCond moeten gebruiken met HTTP_REFERER:

code:
1
2
3
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^(.*)\.google\.(.*) [NC]
RewriteRule ^(.*)$ https://www.my-site.it/$1 [L,R]

Meer info: https://unix4lyfe.org/mod_rewrite-on-referer/

Dit maakt het alleen wel iets ingewikkelder, je krijgt dan twee regels per pagina die je wil redirecten. Dit zal ook een grotere performance impact hebben, omdat deze allemaal voor ieder request gecontroleerd worden.

Ik zou dan eerder één RewriteRule naar een PHP script doen (los van WordPress, bijv. /extredirect.php) voor die domeinnaam, zonder 301 redirect in htaccess, en deze in PHP verder parsen. Je kan dan een array met pagina's maken in PHP en deze doorlopen, maar dat doe je dus alleen die ene keer als de gebruiker vanaf die website binnenkomt. Als er een pagina gematchet is dan doe je vanuit PHP een 301 redirect mbv
code:
1
header( 'Location: '.$juistepagina, true, 301 );

Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Oon schreef op vrijdag 13 november 2020 @ 13:58:
[...]


Dan zul je een RewriteCond moeten gebruiken met HTTP_REFERER:

code:
1
2
3
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^(.*)\.google\.(.*) [NC]
RewriteRule ^(.*)$ https://www.my-site.it/$1 [L,R]

Meer info: https://unix4lyfe.org/mod_rewrite-on-referer/

Dit maakt het alleen wel iets ingewikkelder, je krijgt dan twee regels per pagina die je wil redirecten. Dit zal ook een grotere performance impact hebben, omdat deze allemaal voor ieder request gecontroleerd worden.

Ik zou dan eerder één RewriteRule naar een PHP script doen (los van WordPress, bijv. /extredirect.php) voor die domeinnaam, zonder 301 redirect in htaccess, en deze in PHP verder parsen. Je kan dan een array met pagina's maken in PHP en deze doorlopen, maar dat doe je dus alleen die ene keer als de gebruiker vanaf die website binnenkomt. Als er een pagina gematchet is dan doe je vanuit PHP een 301 redirect mbv
code:
1
header( 'Location: '.$juistepagina, true, 301 );
Was me net op php.net aan het inlezen en zag ook dit HTTP_REFERER. Ik ga even naar je tip kijken _/-\o_

https://www.rbwebpromotions.nl/


Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Oon schreef op vrijdag 13 november 2020 @ 13:58:
[...]


Dan zul je een RewriteCond moeten gebruiken met HTTP_REFERER:

code:
1
2
3
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^(.*)\.google\.(.*) [NC]
RewriteRule ^(.*)$ https://www.my-site.it/$1 [L,R]

Meer info: https://unix4lyfe.org/mod_rewrite-on-referer/

Dit maakt het alleen wel iets ingewikkelder, je krijgt dan twee regels per pagina die je wil redirecten. Dit zal ook een grotere performance impact hebben, omdat deze allemaal voor ieder request gecontroleerd worden.

Ik zou dan eerder één RewriteRule naar een PHP script doen (los van WordPress, bijv. /extredirect.php) voor die domeinnaam, zonder 301 redirect in htaccess, en deze in PHP verder parsen. Je kan dan een array met pagina's maken in PHP en deze doorlopen, maar dat doe je dus alleen die ene keer als de gebruiker vanaf die website binnenkomt. Als er een pagina gematchet is dan doe je vanuit PHP een 301 redirect mbv
code:
1
header( 'Location: '.$juistepagina, true, 301 );
dit kan ik natuurlijk ook in de child theme functions.php doen van wordpress. of zou je het anders oplossen.

https://www.rbwebpromotions.nl/


Acties:
  • 0 Henk 'm!

  • Groentjuh
  • Registratie: September 2011
  • Laatst online: 19:26
Let wel op dat HTTP referer optioneel is en sommige firewalls/proxy die header actief verwijderen van requests!

[ Voor 9% gewijzigd door Groentjuh op 13-11-2020 14:12 ]


Acties:
  • 0 Henk 'm!

  • Oon
  • Registratie: Juni 2019
  • Niet online

Oon

NECAnGeL schreef op vrijdag 13 november 2020 @ 14:11:
[...]


dit kan ik natuurlijk ook in de child theme functions.php doen van wordpress. of zou je het anders oplossen.
Dat zou inderdaad ook kunnen, zolang er maar geen redirect tussen zit (want dan is je referrer weg)

Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Oon schreef op vrijdag 13 november 2020 @ 14:11:
[...]

Dat zou inderdaad ook kunnen, zolang er maar geen redirect tussen zit (want dan is je referrer weg)
ow ja dus ik moet dan in de htaccess een oproep doen naar een php bestand daar de redirect en en dan door gaan.

https://www.rbwebpromotions.nl/


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Oon
  • Registratie: Juni 2019
  • Niet online

Oon

NECAnGeL schreef op vrijdag 13 november 2020 @ 14:14:
[...]


ow ja dus ik moet dan in de htaccess een oproep doen naar een php bestand daar de redirect en en dan door gaan.
Ik moet eerlijk zeggen dat ik niet weet of WordPress redirects afhandelt voordat de functions.php geladen wordt, maar je kunt het altijd proberen. Dan zou je helemaal geen htaccess aanpassingen hoeven doen en kun je gewoon $_SERVER['HTTP_REFERER'] controleren

Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Oon schreef op vrijdag 13 november 2020 @ 14:16:
[...]

Ik moet eerlijk zeggen dat ik niet weet of WordPress redirects afhandelt voordat de functions.php geladen wordt, maar je kunt het altijd proberen. Dan zou je helemaal geen htaccess aanpassingen hoeven doen en kun je gewoon $_SERVER['HTTP_REFERER'] controleren
dat weet ik dus ook niet, maar ik heb nu voldoende input en ga eens puzellen.

https://www.rbwebpromotions.nl/


Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
dat lijkt te werken.

Afbeeldingslocatie: https://tweakers.net/i/PnGP9iEYivhhja13MlGUmLeE8ZA=/800x/filters:strip_exif()/f/image/vqKUPJlQKsnUtAXuL49TzGl3.png?f=fotoalbum_large

https://www.rbwebpromotions.nl/


Acties:
  • +1 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 17:23

AW_Bos

Liefhebber van nostalgie... 🕰️

Neem NOOIT beslissingen op het gebruik van $_SERVER['HTTP_REFERER']. Diverse instellingen van browsers of veiligheidssoftware kunnen deze ook weer verwijderen, zodat jij een lege referer binnenkrijgt.

[ Voor 6% gewijzigd door AW_Bos op 13-11-2020 14:29 ]

Telecommunicatie van vroeger
🚅Alles over spoor en treintjes


Acties:
  • 0 Henk 'm!

  • Oon
  • Registratie: Juni 2019
  • Niet online

Oon

AW_Bos schreef op vrijdag 13 november 2020 @ 14:29:
Neem NOOIT beslissingen op het gebruik van $_SERVER['HTTP_REFERER']. Diverse instellingen van browsers of veiligheidssoftware kunnen deze ook weer verwijderen, zodat jij een lege referer binnenkrijgt.
In dit geval is er niks mis mee en heeft TS geen andere keus. Fallback moet dan wel netjes alsnog de homepage zijn, maar de HTTP referer is in 9/10 gewoon gevuld (zeker op een telefoon of desktopbrowser zonder plugins).

Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Oon schreef op vrijdag 13 november 2020 @ 21:42:
[...]

In dit geval is er niks mis mee en heeft TS geen andere keus. Fallback moet dan wel netjes alsnog de homepage zijn, maar de HTTP referer is in 9/10 gewoon gevuld (zeker op een telefoon of desktopbrowser zonder plugins).
en de google bot zien servers dat?

https://www.rbwebpromotions.nl/


Acties:
  • 0 Henk 'm!

  • NECAnGeL
  • Registratie: Januari 2004
  • Laatst online: 16-09 07:29
Als ik dit doe dan gaat de homepage altijd naar de redirect door en dat is niet helemaal de bedoeling.

code:
1
2
3
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^https://seomarketingdeals.com/blog/bedrijfspagina/rb-webpromotions/ [NC]
RewriteRule ^(.*)$ https://www.rbwebpromotions.nl/zoekmachine-optimalisatie-seo/ [R=301,L]

https://www.rbwebpromotions.nl/

Pagina: 1