27. maj 2016 - 12:35
Der er
8 kommentarer og 1 løsning
rewrite på VPS
Hej, Jeg forsøger en rewrite i .htaccess Det har virket fint på mit webhotel, men efter skifte til en VPS er der knas. Selve læs-htaccess-tingen er slået til, for andre rewrites virker. Det jeg forsøger burde være ret simpelt kampe2?kamp=4884 til kampe2/4884 med RewriteRule ^kampe2/([^/\.]+)/?$ kampe2.php?kamp=$1 [QSA,L] (skal siges jeg har en anden rewrite der fjerner .php) Siden bliver vist fint nok, men variablen 4884 bliver ikke overført Jeg henter den på kampe2.php $kampid = @$_GET['kamp']; if(!isset($kampid)) { $kampid = "1"; } else { $kampid = mysql_real_escape_string($kampid); } og nu bliver den fortolket som kamp=1 uanset. Giver det mening?
Annonceindlæg fra Cognizant
Nu er mit htaccess lidt rustent, men er det ikke: RewriteRule ^kampe2/(.*)$ kampe2.php?kamp=$1 [QSA,L] Og hvis det altid er et ID nummer (tal), måske: RewriteRule ^kampe2/([0-9]+)$ kampe2.php?kamp=$1 [QSA,L]
Begge dele virker. Problemer er (stadig) at kampid ikke tolkes. Nu sætter jeg den til 1 hvis den ikke er sat $kampid = @$_GET['kamp']; if(!isset($kampid)) { $kampid = "1"; } else { $kampid = mysql_real_escape_string($kampid); } Og uanset hvilket id der kaldes, er den 1 kampe2.php?kamp=2 virker fint kampe2/2 her vises kampid=1
Lyder underligt - rewrite virker jo tydeligvis, men den sender ikke dataene med? Nu behandler du alt andet end hvad du forventer som "1", så nu er jeg lidt nysgerrig: hvis du bare laver en var_dump($_GET); - hvad får du så på kampe2/2? En tom array?
Ja lige præcis på /kampe2.php?id=2 får jeg array(1) { ["id"]=> string(1) "2" } på /kampe2/2 får jeg array(0) { } Du har fået i noget.. but why...
Har du eventuelt MultiViews slået til i Apache? Hvis du ikke allerede har, så prøv at slå den fra, ved at skrive Options -MultiViews i din .htaccess
Genialt, det var jo det der skulle til. Mange tak!
Kan ikke lige finde rundt i det her nye design.. har du fået point?
Der findes ikke point længere. Du har accepteret det, så det er som det skal være. Og godt det løste det.
Ah ok, genialt... Jeg er glad, Tak igen!
Vi tilbyder markedets bedste kurser inden for webudvikling