GET waarde achter vriendelijke URL
Ik heb momenteel de volgende rewrite rule:
nu is het probleem dat ik een ?GET achter de vriendelijke URL wil hebben dus zo:
dit werkt echter niet omdat waarschijnlijk voor het php bestand de URL er zo uitziet
ik heb geprobeerd de rewrite rule aan te passen:
echter werkt dit ook niet. Ik heb maar basiskennis van rewrite rules en na 3 uur zoeken kom ik er niet echt uit.
Kan iemand mij hiermee helpen?
Gewijzigd op 01/01/1970 01:00:00 door Tommasso
Tommasso schreef op 15.11.2008 21:13:
Beste mensen,
Ik heb momenteel de volgende rewrite rule:
RewriteRule ^forum/(.*)/(.*)/(.*)/ forum.php?rubriek=$1&topic=$2&message=$3
nu is het probleem dat ik een ?GET achter de vriendelijke URL wil hebben dus zo:
forum/derubriek/hettopic/hetbericht/?fucn=logout
dit werkt echter niet omdat waarschijnlijk voor het php bestand de URL er zo uitziek
forum.php?rubriek=derubriek&topic=hettopic&message=hetbericht?fucn=logout
ik heb geprobeerd de rewrite rule aan te passen:
RewriteRule ^forum/(.*)/(.*)/(.*)/?(.*) forum.php?rubriek=$1&topic=$2&message=$3&$4
echter werkt dit ook niet. Ik heb maar basiskennis van rewrite rules en na 3 uur zoeken kom ik er niet echt uit.
Kan iemand mij hiermee helpen?
Ik heb momenteel de volgende rewrite rule:
RewriteRule ^forum/(.*)/(.*)/(.*)/ forum.php?rubriek=$1&topic=$2&message=$3
nu is het probleem dat ik een ?GET achter de vriendelijke URL wil hebben dus zo:
forum/derubriek/hettopic/hetbericht/?fucn=logout
dit werkt echter niet omdat waarschijnlijk voor het php bestand de URL er zo uitziek
forum.php?rubriek=derubriek&topic=hettopic&message=hetbericht?fucn=logout
ik heb geprobeerd de rewrite rule aan te passen:
RewriteRule ^forum/(.*)/(.*)/(.*)/?(.*) forum.php?rubriek=$1&topic=$2&message=$3&$4
echter werkt dit ook niet. Ik heb maar basiskennis van rewrite rules en na 3 uur zoeken kom ik er niet echt uit.
Kan iemand mij hiermee helpen?
maak dit een beetje overzichtelijker a.u.b
ik kan er niet aan uit..
maak gebruik van enters
en probeer eens i.p.v. : ?fucn=logout --> &fucn=logout
Gewijzigd op 01/01/1970 01:00:00 door Kasper Heyndrickx
Kasper schreef op 15.11.2008 21:27:
en probeer eens i.p.v. : ?fucn=logout --> &fucn=logout
dit is niet goed mogelijk omdat ik ook situaties heb met submit forms, als ik dit dan wil verhelpen moet ik een formulier opvangen en vervolgens de url herschrijven. dit vind ik zelf niet echt een goede oplossing...
edit:
Kasper:
staat dat online?
anders kan ik even kijken..
anders kan ik even kijken..
srry, dit staat alleen op mijn dev server. Ik kan dit ook niet prijsgeven omdat hier ook geheime gegevens in staan.
Gewijzigd op 01/01/1970 01:00:00 door Tommasso
anders kan ik even kijken..
anders word het toch echt:
forum.php?bericht=1&topic=2&logout=yes en dan al je rewrite rules verwijderen.
Dit kan dus nooit.
forum.php?rubriek=derubriek&topic=hettopic&message=hetbericht?fucn=logout
SanThe schreef op 15.11.2008 22:22:
Een link heeft NOOIT 2 keer een ? er in staan.
Dit kan dus nooit.
forum.php?rubriek=derubriek&topic=hettopic&message=hetbericht?fucn=logout
Dit kan dus nooit.
forum.php?rubriek=derubriek&topic=hettopic&message=hetbericht?fucn=logout
Dit weet ik en dat is dus het probleem.
ik probeer een manier te krijgen dat die ? in een & veranderd zodat hij wel werkt.
edit:
de reden dat deze er bij komt is dat de pagina een ?get achter een vriendelijke url zet oftewel:
dit wordt in de server vertaald met rewrite rules tot dit:
Code (php)
1
http://eensite.tld/folder/forum.php?rubriek=derubriek&topic=eentopic&message=eenbericht?func=logout
hierbij wordt (volgens mij) gewoon het laatste deel van de oorspronkelijke url gewoon aan de achterkant van de nieuwe url geplakt zodat er dus 2 ? komen te staan.
Nou wil ik er voor zorgen dat die laatste ? in een & veranderd zodat hij het weer doet.
Gewijzigd op 01/01/1970 01:00:00 door Tommasso
Hoe komt ie er in is meer de vraag.
Thijs Damen schreef op 15.11.2008 22:15:
met een front controller (aka MVC) is dat heel goed mogelijk. ik zal daarin kijken als je echt een mooie url wil
anders word het toch echt:
forum.php?bericht=1&topic=2&logout=yes en dan al je rewrite rules verwijderen.
anders word het toch echt:
forum.php?bericht=1&topic=2&logout=yes en dan al je rewrite rules verwijderen.
ik kom er met dat MVC er niet uit (ik ken dit allemaal niet, gaat dan dus heel lang duren...)
ik denk dat ik er dan nog beter kan maken
forum.php/1/2/yes/ dus alle get die er achter kunnen komen in rewrite plaatsen...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function get($var="vraagteken") {
global $get, $_SERVER;
if($var == "vraagteken")
{
$value = strstr($_SERVER["REQUEST_URI"],"?");
$andervars = strstr($value,"&");
$value = str_replace("?","",$value);
$value = str_replace($andervars,"",$value);
$get = $value;
}
else
{
$value = strstr($_SERVER[REQUEST_URI],"{$var}=");
$value = str_replace("{$var}=","",$value);
$derest = strstr($value,"&");
$value = str_replace($derest,"",$value);
$get[$var] = $value;
}
return $value;
}
//om een variabele op te halen
$var = get("variabele");
echo $var;
//of
get("variabele");
echo $get[variabele];
global $get, $_SERVER;
if($var == "vraagteken")
{
$value = strstr($_SERVER["REQUEST_URI"],"?");
$andervars = strstr($value,"&");
$value = str_replace("?","",$value);
$value = str_replace($andervars,"",$value);
$get = $value;
}
else
{
$value = strstr($_SERVER[REQUEST_URI],"{$var}=");
$value = str_replace("{$var}=","",$value);
$derest = strstr($value,"&");
$value = str_replace($derest,"",$value);
$get[$var] = $value;
}
return $value;
}
//om een variabele op te halen
$var = get("variabele");
echo $var;
//of
get("variabele");
echo $get[variabele];
Het script is niet perfect, maar voldoende voor hetgeen je wilt
Gewijzigd op 01/01/1970 01:00:00 door Hannes Bossuyt