Ik heb een probleem op een wordpress site van mij, vreemd genoeg heb ik op een vrijwel identieke website dit probleem niet.

Wanneer ik een rij met url's heb en ik bezoek die pagina dan stoppen de url's na dat in de url het teken ' voorkomt. Op de andere website loopt de url netjes door en werkt hij gewoon.

http://www.website.com/F=123456&reurl='pagina.html';

Dit is een voorbeeld van de url. Op de pagina stopt hij nu na reurl= en op de andere website loopt hij wel gewoon door.

Waar zit dit probleem hem in? Ik heb al geprobeerd hier informatie over te vinden, helaas niet gelukt.

Zelfde versie Wordpress en zelfde theme.
Het is niet echt gebruikelijk een ' in een url te gebruiken, dit moet je ook niet willen.
Misschien kan je beter naar een oplossing zoeken om de ' er uit te filteren dan om hem wel te kunnen gebruiken.

Hier is dat ook het geval.
De url is:

http://www.phphulp.nl/php/forum/topic/url-stopt-na-gebruik-van-in-url/86690/last/


geen ' te vinden terwijl jou titel van het topic is:


URL stopt na gebruik van ' in url wijzigen


Succes!
Ik kan de ' wel vervangen met %27 en dan geeft hij hem weer en kom ik ook op de externe pagina terecht. Het zin url's welke ik krijg aangelerd via een affiliate partij. Er zit dus tracking in naar mij.

Om eerlijk te zijn weet ik geen andere oplossing dan %27 te gebruiken.

Volgens mij is de ' functioneel
Misschien moet je het probleem bij de affiliate partij aankaarten? Het is namelijk niet gebruikelijk een ' te gebruiken.
Binnen een url heeft het totaal geen zin om waarden in aanhalingstekens te wrappen

bv. ...&reurl='pagina.html'

De redenering die je moet maken is de volgende:
In de url zijn er vier actieve karakters waar je op moet letten: ? = & #
(Maar ook andere tekens kunnen gevolgen hebben)
Tussen die karakters door heb je dus de key en de values die de $_GET-variabelen bemannen.
Je moet uiteraard vermijden dat 1 van de vier (bovengenoemde) karakters zelf voorkomen in een value.

bv. stel, je wil categorie 'sport&cultuur'
Je snapt dat de url die & zal zien als een teken om aan de volgende variabele te beginnen.

index.php?categorie=sport&cultuur
komt overeen met
$_GET['categorie'] = 'sport';
en
$_GET['cultuur'] = '';

Om dus toch een speciaal teken in de value te zetten, haal je de waarde door urlencode() .

Bekijk dit klein voorbeeld als illustratie.
<?php
$url = 'index.php?categorie=' . urlencode('sport&cultuur');
echo '<a href="' . $url . '">klik</a><br>';
if (!empty($_GET['categorie'])) {
echo '$_GET["categorie"] geeft de waarde: ' . $_GET['categorie'];
}
?>

Die urlencode versie van het karakter kan je in de url-balk zien. De waarde is echter zomaar beschikbaar als $_GET-variabele.

Eventueel kan je urldecode($_GET['categorie']) nodig om de waarde terug te hebben.

Reageren