Routing via nette URL
Goedemiddag,
Ik ben bezig met een kleine CMS die met modules werkt alleen zit ik met een probleem. Ik werk met de volgende code:
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
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)
1
2
3
4
5
6
7
8
9
10
11
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';
}
$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
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?
Wat had je voor inhoud willen hebben in variabelen $first, $second en $third dan?
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
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
Je moet een .htaccess bestand plaatsen met een stukje code wat alles doorverwijst naar de index met als parameter wat achter de / staat
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
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
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
Bump!
Weet iemand wat ik hierboven fout doe?
Weet iemand wat ik hierboven fout doe?
Bumpen pas na 24 uur graag.
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.
Die tutorials over htaccess snap ik niet helemaal heb al 3 keer gelezen maar kan niet zien waarom die niet werkt.
Misschien een [L] flag achter regel 9? Dat betekend dat ie stopt wanneer het matched
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
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
Maar hij geeft niets weer ( als ik in de broncode op de link klik gebeurd er ook niets )
Of het er wat mee te maken heeft weet ik niet, maar dit
moet je eens veranderen naar
moet je eens veranderen naar
Heb het al gevonden het was resources ik had rescourses
Bedankt
Bedankt




