[PHP] Apache2 multiviews instellingen omzeilen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • spok9
  • Registratie: November 2000
  • Laatst online: 22:19

spok9

Groen...

Topicstarter
Een tijd terug opende ik dit topic in SA. Niemand reageerde echter, dus het probleem is er nog steeds. Nu vraag ik mij af of het niet mogelijk is om de instellingen van Apache te omzeilen met PHP.

M'n bedoeling is dus dat ik mijn script als volgt kan aanroepen: content.php/pageid.htm of content/pageid.htm

Multiviews staat aan, een script aanroepen zonder php extensie werkt, totdat ik de slash erachter plak, dan geeft ie een 404 (hij denkt dus dat ik een directory wil openen)

De volgende PHP code gebruik ik om de de pageid uit de url te halen:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
//Haal page id uit de url
$filename = array();
$pageid = array();

$filename = explode("/", substr($PATH_INFO,1));
$pageid = explode(".", $filename[0]);

$page = $pageid[0];

if (!get_magic_quotes_gpc()) {
   $page = addslashes($page);
}


Iemand een idee? :)

Zolang ik het zelf geloof is het goed toch?


Acties:
  • 0 Henk 'm!

  • Bluppy2
  • Registratie: December 2000
  • Laatst online: 14-08 21:18

Bluppy2

Hip!

><((((º> .:. ><((((º> .:. ><((((º> .:. ><((((º>


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

spok9 schreef op 18 december 2002 @ 17:20:
Multiviews staat aan, een script aanroepen zonder php extensie werkt, totdat ik de slash erachter plak, dan geeft ie een 404 (hij denkt dus dat ik een directory wil openen)

Ik geloof dat de werking van multiviews veranderd is in apache2... Hij zoekt nu de dirtree niet meer af, maar enkel naar de laatste / .
Dat is iig erg vervelend, heb het eerder gezien en heb niemand met een oplossing gezien...

Acties:
  • 0 Henk 'm!

  • spok9
  • Registratie: November 2000
  • Laatst online: 22:19

spok9

Groen...

Topicstarter
Dat ken ik idd, maar om de een of andere reden werkt dit dus niet :(

Zolang ik het zelf geloof is het goed toch?


Acties:
  • 0 Henk 'm!

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 16-08 06:44

CyberSnooP

^^^^ schrijft --->

ACM schreef op 18 December 2002 @ 17:23:
Ik geloof dat de werking van multiviews veranderd is in apache2... Hij zoekt nu de dirtree niet meer af, maar enkel naar de laatste / .
Dat is iig erg vervelend, heb het eerder gezien en heb niemand met een oplossing gezien...
Misschien is dat om dat MultiViews gebruikt werd op een manier waarop de developpers dat niet bedoelt hadden.
Het lijkt me echter dat je met wat geschikte Rewrite rules er kunt komen. Je wilt ongeveer het volgende:
• knip het stuk voor je php file eraf, dit is meestal constant.
• Pak het stuk tot de eerste slash(1) en het stuk vanaf de eerste slash(2)
• Herschrijf dat tot <pad-naar-php-files><stuk-1>.php?<stuk-2>

|_____vakje______|


Acties:
  • 0 Henk 'm!

Verwijderd

mod_rewrite is het antwoord, ik weet egter niet of deze er ook voor apache 2 is....

Acties:
  • 0 Henk 'm!

  • spok9
  • Registratie: November 2000
  • Laatst online: 22:19

spok9

Groen...

Topicstarter
Hmm... dat wordt dus Rewrite gebruiken of downgraden naar apache 1.x :P

Zolang ik het zelf geloof is het goed toch?


Acties:
  • 0 Henk 'm!

Verwijderd

Ik zit nog steeds met dit probleem en ik heb er inmiddels voor gekozen om te downgraden naar Apache 1.3.xx laatste versie in die reeks iig. Het probleem is ik draai Apache onder een Windows omgeving en er wordt geadviseerd om in dat geval Apache 2.0.xx te gebruiken. Ik heb me nog niet echt verdiept in de mod_rewrite methode omdat ik daar op dit moment geen tijd voor heb.

Heeft iemand enig idee of dit probleem al "verholpen" is, en of het werkelijk nodig is om Apache 2.0.xx te gaan draaien, ik heb tot nu toe nog geen problemen ondervonden moet ik zeggen, maar dat woordje "recommened" zit me toch dwars als jullie snappen wat ik bedoel.

Acties:
  • 0 Henk 'm!

  • sjokki
  • Registratie: Juli 2002
  • Niet online
http://httpd.apache.org/d.../core.html#acceptpathinfo

FYI, multiviews is iets anders: http://httpd.apache.org/d...gotiation.html#multiviews

[ Voor 47% gewijzigd door sjokki op 06-05-2003 03:34 ]


Acties:
  • 0 Henk 'm!

Verwijderd

This directive controls whether requests that contain trailing pathname information that follows an actual filename (or non-existent file in an existing directory) will be accepted or rejected. The trailing pathname information can be made available to scripts in the PATH_INFO environment variable.

For example, assume the location /test/ points to a directory that contains only the single file here.html. Then requests for /test/here.html/more and /test/nothere.html/more both collect /more as PATH_INFO.

The three possible arguments for the AcceptPathInfo directive are:

Off
A request will only be accepted if it maps to a literal path that exists. Therefore a request with trailing pathname information after the true filename such as /test/here.html/more in the above example will return a 404 NOT FOUND error.
On
A request will be accepted if a leading path component maps to a file that exists. The above example /test/here.html/more will be accepted if /test/here.html maps to a valid file.
Default
The treatment of requests with trailing pathname information is determined by the handler responsible for the request. The core handler for normal files defaults to rejecting PATH_INFO requests. Handlers that serve scripts, such as cgi-script and isapi-isa, generally accept PATH_INFO by default.
The primary purpose of the AcceptPathInfo directive is to allow you to override the handler's choice of accepting or rejecting PATH_INFO. This override is required, for example, when you use a filter, such as INCLUDES, to generate content based on PATH_INFO. The core handler would usually reject the request, so you can use the following configuration to enable such a script:
en een voorbeeld daarvan is...

code:
1
2
3
4
5
<Files "mypaths.shtml">
    Options +Includes
    SetOutputFilter INCLUDES
    AcceptPathInfo On
</Files>


Al heb ik geen flauw idee hoe je dit alleen op basis van .htaccess kan gebruiken, zonder dat je de rechten(instellingen) voor alle directory's op je gehele webserver aanpast.

[ Voor 6% gewijzigd door Verwijderd op 06-05-2003 08:11 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 06 mei 2003 @ 08:07:


[...]


Al heb ik geen flauw idee hoe je dit alleen op basis van .htaccess kan gebruiken, zonder dat je de rechten(instellingen) voor alle directory's op je gehele webserver aanpast.
Heel erg bedankt sjokki!!! Dit heeft mijn probleem verholpen, is verbaas me er nog steeds over dat hier geen note ofzo bij MultiViews staat, want hier lopen een heleboel anders mensen ook tegen de muur die PATH_INFO gebruiken om variabelen uit url's te halen.

En xtentic, je moet dat stukje gewoon in een .htaccess file zetten en de bestandsnaam vervangen die je wilt gebruiken i.c.m. PATH_INFO.

[ Voor 3% gewijzigd door Verwijderd op 06-05-2003 20:11 ]

Pagina: 1