karakters achter de slash ophalen
Ik ben bezig met een website, en loop eigenlijk tegen een klein probleempje aan.
Ik zou graag willen dat als ik: http://website.nl/s/894784 intyp, dat het bestandje s.php word aangeroepen en dat vanuit s.php de cijfers te zien zijn.
Ik heb het wel al voor elkaar door middel van htaccess dat http://website.nl/s linkt naar s.php, alleen zodra ik er /73788 achter typ, denkt apache dat s een map is en zoekt naar het bestand 73788.php in de map die niet bestaat.
Het werkt wel als ik: http://website.nl/s.php/83787 typ, alleen zou ik het liever hebben zonder de .php als dat mogelijk is.
Inhoud s.php:
Code (php)
Inhoud .htaccess (Om de extensie .php te verwijderen):
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
De vraag samengevat: Hoe kan ik apache vertellen dat s geen map is maar een php bestand?
Ik zou het super vinden als iemand me hierbij zou kunnen helpen!
Bij voorbaat dank voor de moeite.
Groet,
Enrico de Bil
http://website.nl/s/894784 intyp, dat het bestandje s.php word aangeroepen en dat vanuit s.php de cijfers te zien zijn.
Is er één s.php die altijd wordt aangeroepen? Of kan de letter s hierin variëren, bijvoorbeeld naar t voor het script t.php bij de URL http://website.nl/t/654321?
>> Ik zou graag willen dat als ik: Is er één s.php die altijd wordt aangeroepen? Of kan de letter s hierin variëren, bijvoorbeeld naar t voor het script t.php bij de URL http://website.nl/t/654321?
Ward van der Put op 23/11/2014 12:40:20:
>> Ik zou graag willen dat als ik: http://website.nl/s/894784 intyp, dat het bestandje s.php word aangeroepen en dat vanuit s.php de cijfers te zien zijn.
Is er één s.php die altijd wordt aangeroepen? Of kan de letter s hierin variëren, bijvoorbeeld naar t voor het script t.php bij de URL http://website.nl/t/654321?
Is er één s.php die altijd wordt aangeroepen? Of kan de letter s hierin variëren, bijvoorbeeld naar t voor het script t.php bij de URL http://website.nl/t/654321?
Bedankt voor je reactie!
De s staat voor het engelse woord sell en staat altijd vast, het gaat hier voornamelijk om de cijfers erachter aangezien dat de productcodes zijn.
Groet,
Enrico
Maar moet de rewrite rule ook iets kunnen herschrijven naar bijvoorbeeld een b.php voor "buy" naast die s.php voor "sell"? In dat geval wordt de letter namelijk een variabele in plaats van een constante.
Ward van der Put op 23/11/2014 13:06:03:
Maar moet de rewrite rule ook iets kunnen herschrijven naar bijvoorbeeld een b.php voor "buy" naast die s.php voor "sell"? In dat geval wordt de letter namelijk een variabele in plaats van een constante.
Nee, de rewrite rule hoeft alleen de s te herschrijven naar s.php. Geen andere bestanden, dus hij blijft constant.
Groet,
Enrico
Code (php)
1
2
3
2
3
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^s/(\d+) s.php?code=$1 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^s/(\d+) s.php?code=$1 [NC,L]
werkt alleen niet als er geen getallen volgen.
Ivo P op 23/11/2014 13:16:40:
Dit werkt helemaal perfect, ik heb ontdekt dat als er geen getallen volgen dat er word verwezen naar /s/.php en ik heb in de .php een product not found pagina gemaakt, dus dat 'probleem' is ook opgelost.
Ik wil jullie allemaal hartelijk bedanken voor jullie antwoorden!
Groet,
Enrico