karakters achter de slash ophalen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Enrico de Bil

Enrico de Bil

23/11/2014 10:40:19
Quote Anchor link
Beste PHP'er,

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

$url
= "http" . (($_SERVER['SERVER_PORT']==443) ? "s://" : "://") . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$str = substr(strrchr($url, '/'), 1);
echo $str;

?>


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
 
PHP hulp

PHP hulp

17/11/2024 05:45:39
 
Ward van der Put
Moderator

Ward van der Put

23/11/2014 12:40:20
Quote Anchor link
>> 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?
 
Enrico de Bil

Enrico de Bil

23/11/2014 12:58:13
Quote Anchor link
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?


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
 
Ward van der Put
Moderator

Ward van der Put

23/11/2014 13:06:03
Quote Anchor link
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.
 
Enrico de Bil

Enrico de Bil

23/11/2014 13:10:55
Quote Anchor link
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
 
Ward van der Put
Moderator

Ward van der Put

23/11/2014 13:16:35
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^s/([0-9]+) s.php?product=$1 [NC]
 
Ivo P

Ivo P

23/11/2014 13:16:40
Quote Anchor link
Iets als :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^s/(\d+) s.php?code=$1 [NC,L]


werkt alleen niet als er geen getallen volgen.
 
Enrico de Bil

Enrico de Bil

23/11/2014 13:28:31
Quote Anchor link
Ivo P op 23/11/2014 13:16:40:
Iets als :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^s/(\d+) s.php?code=$1 [NC,L]


werkt alleen niet als er geen getallen volgen.



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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.