[PHP]Mod Rewrite dmv PHP

Pagina: 1
Acties:

Onderwerpen


  • Noedels
  • Registratie: Augustus 2002
  • Laatst online: 04-09-2021
Allen,

Ik ben reeds een tijdje op zoek geweest naar een goed werkende Mod Rewrite script, maar dit is helaas niet gelukt, want ik heb het allemaal niet aan de praat gekregen...
Nu was ik hier even aan het zoeken en zag ik in een topic dat je hetzelfde effect ook kan nabootsen door middel van een stukje PHP, maar doordat ik nogal een PHP noob ben, snap ik niet helemaal wat er bedoelt wordt in dat topic, dus vandaar dat ik hier even wat hulp vraag.

het gaat om topic: [rml][ apache] mod_rewrite[/rml]


Hierin zegt ene Soultaker het volgende:
"Het kan ook zonder mod_rewrite, door multi-views te configureren en in je PHP-file een regeltje code te stoppen."

Nu vraag ik me af wat dat multi-views is, waar ik dit zou kunnen vinden en eventueel wat ik moet configureren.


Als PHP regeltje geeft hij het volgende:
code:
1
<?  $page = substr($PATH_INFO,1);?>


Deze code zou ik (ergens?) in het PHP bestand moeten plaatsen.
Vervolgens moet ik de variabele $PATH_INFO echo'en. Maar hoe en waar dien ik dat te doen dan?


Hoop dat jullie mij hiermee kunnen helpen, want dat zou een reeds maandenlange zoektocht eindelijk een keer beëindigen....

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Multiviews is een setting van Apache. Je kunt dat setten in je httpd.conf of in een .htaccess bestand.

code:
1
2
3
4
5
<Directory "/usr/www">
    Options Indexes FollowSymLinks MultiViews
    Order allow,deny
    Allow from all
</Directory>


Zoiets in je httpd.conf bijvoorbeeld.

Wat je dan vervolgens wilt doen is de request_uri opsplitsen op de /-es.

PHP:
1
$meuk = explode("/", $_SERVER["REQUEST_URI"]);


En dit array kun je dan gebruiken ipv je $_GET array.

[ Voor 13% gewijzigd door Grijze Vos op 29-12-2005 12:41 ]

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • Noedels
  • Registratie: Augustus 2002
  • Laatst online: 04-09-2021
Beste Vos,

Het eerste stuk, over hetgeen ik in de .htaccess moet plaatsen, dat snap ik nog wel, maar wat je daarna allemaal zegt..... daar snap ik weinig van.....

Zou je het misschien in iet wat meer "leken-taal" kunnen zeggen?

  • MTWZZ
  • Registratie: Mei 2000
  • Laatst online: 13-08-2021

MTWZZ

One life, live it!

Wat Grijze Vos bedoelt is het volgende:
Stel je hebt een site waar je pagina's in meerdere talen hebt, bijvoorbeeld "help" die je in het nederlands en engels aanbied. De url voor die pagina zou dan iets worden als:
http://site/nl/help/ en http://site/en/help/
Wat er gebeurd is dat Apache de url doorgeeft aan jouw PHP bestand. In het PHP bestand doe je dan (zoals grijze vos al zei) een explode. Explode splitst een string op een bepaald teken (de / in dit geval) en geeft alle stukjes terug in een array.
Je kunt dus aan de hand van die array kijken welke taal en pagina er opgevraagd zijn.
Voorbeeldje:
URL: http://site/nl/help/
PHP:
1
2
$request = explode('/',$_SERVER['PATH_INFO']);
print_r($request);

De uitvoer hiervan is dan:
code:
1
2
3
4
Array (
    0 => "nl",
    1 => "help"
)

Nu kun je zelf in je database oid zoeken naar de pagina "help" in het nederlands en die naar de gebruiker sturen.

Nu met Land Rover Series 3 en Defender 90


  • Eärendil
  • Registratie: Februari 2002
  • Laatst online: 19:40
Het idee van MultiViews is dat Apache op andere plaatsen gaat kijken als de URL niet direct gevonden wordt.
Stel je hebt een directory:
code:
1
2
3
4
5
/
--site.php
--dir.php
--dir/
----test.php

De volgende URL's worden nu door deze files verwerkt:
URLVerwerkt door $PATH_INFO
http://example.com/site.phpsite.php''
http://example.com/site.php/test.phpsite.php'/test.php'
http://example.com/site/test.phpsite.php'/test.php'
http://example.com/dir.phpdir.php''
http://example.com/dir.php/test.phpdir.php'/test.php'
http://example.com/dir/test.phpdir/test.php''

In de variabele $PATH_INFO komt het eventuele stuk achter de verwerkende file

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Noedels schreef op donderdag 29 december 2005 @ 12:44:
Beste Vos,

Het eerste stuk, over hetgeen ik in de .htaccess moet plaatsen, dat snap ik nog wel, maar wat je daarna allemaal zegt..... daar snap ik weinig van.....

Zou je het misschien in iet wat meer "leken-taal" kunnen zeggen?
nofi, maar als je dat laatste stukje zeer basic PHP niet snapt, is het dan niet handiger eerst gewoon met de standaard configuratie aan de slag te gaan :?
Pagina: 1