Versio

Routing via nette URL

Overzicht Reageren

Jos Verra

Jos Verra

26/06/2010 17:44:51
Quote Anchor link
Goedemiddag,

Ik ben bezig met een kleine CMS die met modules werkt alleen zit ik met een probleem. Ik werk met de volgende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
$clean                 =       array();
$url                    =    $_SERVER['PATH_INFO'];

list($zero, $first, $second, $third) = explode('/',$url);

$clean['module']    =    $first;
$clean['id']        =    $second;
$clean['item']        =    $third;
if($first == ''){
     $clean['module']   =    'home';    
}


Hiermee wil ik de URL opbreken in kleine stukjes maar zodra mijn URL iets is als:
http://www.domeinnaam.nl/test

Dan vult hij de module niet met test. Hij probeerd nu namelijk de map genaamd test te openen.

Hoe kan ik zorgen dat hij dit niet doet maar mijn modules, id's en items vult?

Alvast bedankt.

Met vriendelijke groet,

Jos
 
PHP hulp

PHP hulp

25/05/2012 15:04:44
Gesponsorde koppelingen:
 
Piet Verhagen

Piet Verhagen

26/06/2010 18:40:37
Quote Anchor link
Als je de pagina http://www.domeinnaam.nl/test bekijkt, zal in PHP de variabele $url = test zijn. Toch? Als je die dan gaat opbreken op regel 4 van jou code blokje, dan zal alleen $zero inhoud hebben, namelijk test. Variabelen $first, $second en $third zijn dan leeg / bestaan niet, misschien kan regel 4 dan niet eens en krijg je een error, weet niet precies.

Wat had je voor inhoud willen hebben in variabelen $first, $second en $third dan?
 
Jos Verra

Jos Verra

26/06/2010 18:43:56
Quote Anchor link
Nee, nu probeerd hij dus http://www.domeinnaam.nl/test te openen ipv dat hij in de index.php hem gaat verwerken

en in dit geval zou $zero gevult zijn met de DOCROOT :) en $first met test

Dus eigenlijk moet hij altijd op index.php blijven en met behulp van de meegestuurde $first / $second / $third de inhoud bepaalen
 
Jan geen

Jan geen

26/06/2010 18:55:21
Quote Anchor link
Je moet een .htaccess bestand plaatsen met een stukje code wat alles doorverwijst naar de index met als parameter wat achter de / staat
 
Jos Verra

Jos Verra

26/06/2010 19:01:24
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} http://www.cms.tunder-design.nl$ [NC]
RewriteRule ^(.*)$ http://www.cms.tunder-design.nl/$1 [R=301,L]

RewriteEngine on
RewriteBase /

RewriteCond $1 !^(index\.php|resources|cms)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1


Zo iets als dit ?

Hij stuurt alles nu netjes door maar ik wil dat hij dit altijd doet behalve als het pad /cms of /reources is

Hoe doe ik dit of wat heb ik hierboven fout gedaan
Gewijzigd op 26/06/2010 19:23:25 door Jos Verra
 
Jos Verra

Jos Verra

26/06/2010 19:33:32
Quote Anchor link
Bump!

Weet iemand wat ik hierboven fout doe?
 
- SanThe -

- SanThe -

26/06/2010 19:52:00
Quote Anchor link
Bumpen pas na 24 uur graag.
 
Jos Verra

Jos Verra

26/06/2010 19:55:54
Quote Anchor link
Ja sorry :( ik zit nu steeds dingen te proberen en wordt er gek van :P geen enkel teken dat het ook maar die uitzondering werkt.

Die tutorials over htaccess snap ik niet helemaal heb al 3 keer gelezen maar kan niet zien waarom die niet werkt.
 
Jan geen

Jan geen

26/06/2010 21:57:39
Quote Anchor link
Misschien een [L] flag achter regel 9? Dat betekend dat ie stopt wanneer het matched
 
Jos Verra

Jos Verra

26/06/2010 22:19:25
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#Error documents
ErrorDocument 404 /index.php/404

#Nette URL && Alles wordt naar de index.php doorgestuurd

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} http://www.cms.tunder-design.nl$ [NC]
RewriteRule ^(.*)$ http://www.cms.tunder-design.nl/$1 [R=301,L]

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} !^(index\.php|cms)[L]
RewriteCond %{REQUEST_URI} !^(index\.php|resources)[L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1


Dit heb ik nu maar hij werkt op de resources na want ik heb in een img tag er naar verwezen maar hij wil hem niet openen vanaf de index.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<img src="resources/images/logo.png" />


Maar hij geeft niets weer ( als ik in de broncode op de link klik gebeurd er ook niets )
 
Piet Verhagen

Piet Verhagen

26/06/2010 22:45:54
Quote Anchor link
Of het er wat mee te maken heeft weet ik niet, maar dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<img src="resources/images/logo.png" />

moet je eens veranderen naar
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<img src="/resources/images/logo.png" />
 
Jos Verra

Jos Verra

26/06/2010 23:21:06
Quote Anchor link
Heb het al gevonden het was resources ik had rescourses

Bedankt
 



Overzicht Reageren