pagina includen

Status
Niet open voor verdere reacties.

whitetigerck

Gebruiker
Lid geworden
8 aug 2008
Berichten
196
Ik zou graag willen dat als je een pagina opent van mijn site dat hij automatisch de index pagina laadt en dat hij deze pagina daarin include. En het liefst zo dat ik die code maar op 1 pagina moet zetten (of eventueel in de .htacces). Kan dat en zoja hoe?

Ik gebruik nu deze code, voor het includen van de pagina's:
PHP:
 <?php
  if(isset($_GET['page']) && array_key_exists($_GET['page'], $pages)) {
    include($pages[$_GET['page']]);
  } else {
    include("news.php");
  }
  ?>

Alvast bedankt:thumb:
 
re

Kan je je vraag wat verduidelijken ? ik begrijp er niets van...
 
Ik dacht al dat hij moeilijk te verstaan was, nu met een screenshot en wat artistieke kunst lukt het misschien wel beter:)

Mijn site is opgebouwd uit allemaal losse pagina's die geinclude worden door de php code die ik eerder liet zien. Alle pagina's worden hierin geincluded:



Dus dat zwarte vlak is telkens een aparte pagina, google die vindt wel is alleen die pagina, dus zonder de header en het menu. Dus dan wil ik dat telkens wanneer alleen die zwarte pagina wordt getoond, dus zonder de header en het menu, die er toch bij gaan.

Mijn vraag is dus hoe doe ik dat?
 
Dan zul je in .htaccess een rewriterule moeten schrijven die het volgende doet:

www.jedomein.nl/{paginanaam.php}

omschrijven naar:

www.jedomein.nl/index.php?p={jepaginanaam.php}

Ik ben niet erg goed in het gebruik van Mod_rewrite, maar volgens mij kom je ongeveer op het volgende (misschien kan een medeforummer dit verifiëren / verbeteren / aanvullen ?)

Code:
RewriteEngine on
RewriteCond REQUEST_URI !^index.php
RewriteRule ^(.+).php$ index.php?p=$1.php

Wat dit volgens mij doet is:

RewriteEngine aanzetten (d'oh)
Kijken of de opgevraagde url niet met index.php begint (anders kom je in een oneindige loop)
{paginanaam}.php omschrijven naar: index.php?p={paginanaam}.php
 
Dan zul je in .htaccess een rewriterule moeten schrijven die het volgende doet:

www.jedomein.nl/{paginanaam.php}

omschrijven naar:

www.jedomein.nl/index.php?p={jepaginanaam.php}

Ik ben niet erg goed in het gebruik van Mod_rewrite, maar volgens mij kom je ongeveer op het volgende (misschien kan een medeforummer dit verifiëren / verbeteren / aanvullen ?)

Code:
RewriteEngine on
RewriteCond REQUEST_URI !^index.php
RewriteRule ^(.+).php$ index.php?p=$1.php

Wat dit volgens mij doet is:

RewriteEngine aanzetten (d'oh)
Kijken of de opgevraagde url niet met index.php begint (anders kom je in een oneindige loop)
{paginanaam}.php omschrijven naar: index.php?p={paginanaam}.php

Volgens mij redirect je de google crcawler dan ook en dan zullen de pagina's niet meer goed gevonden kunnen worden
 
Je zult de crawler dan ook naar index.php?p={paginanaam}.php leiden

Dan wordt die pagina ook gewoon geindexeerd. Het is wel zo dat als je een pagina hebt met véél GET-variabelen dat de crawler/spider nogal eens wil afhaken.
 
Je zult de crawler dan ook naar index.php?p={paginanaam}.php leiden

Dan wordt die pagina ook gewoon geindexeerd. Het is wel zo dat als je een pagina hebt met véél GET-variabelen dat de crawler/spider nogal eens wil afhaken.

Ok, dat wist ik niet
 
en daar kan zeker niks aan gedaan worden?

Dat rewriten doet wel iets alleen niet wat ik wil, als ik de pagina toernooien/schaakgrens0809.htm achter mijn domein intyp dan zie ik nog steeds alleen deze pagina, zonder de rewrites, en mijn rss feed doet het ook niet en ik heb ook nog het probleem dat mijn 404 pagina niet meer wordt weergegeven, als ik een willekeurig adres intypt dan kom ik altijd op mijn startpagina.
Het is toch niet zo makkelijk als het leek:confused:

In mijn .htacces heb ik wel deze code:
Code:
ErrorDocument 404 /custom404.php

RewriteEngine on
RewriteCond REQUEST_URI !^index.php
RewriteRule ^(.+).php$ index.php?p=$1.php
 
Laatst bewerkt:
Helaas, verder weet ik er ook het fijne niet van. Maar iemand anders kan je hier vast wel verder mee helpen. Succes!
 
PHP:
<?php
if(isset($_GET['x']) && file_exists('pages/'.$_GET['x'].'.php')){ 
include"pages/".invoer($_GET['x']).".php";
}
else if (!@ $_GET['x']) {
include"pages/index.php";
}
else {
include"pages/404.php";
}
?>

dit script werkt ook heel effectief
maak een mapje aan met pages en zet hier al je paginas in met tekst je beginpagina is index.php in de map pages en als een pagina niet bestaad word hij automatisch naar 404.php gestuurd in je pages map
 
pagina's includen

Hi, heb net mijn eerste eenvoudige site gemaakt met php. En ik loop tegen hetzelfde probleem aan dat de losse pagina's worden gevonden en dus niet worden getoond met het menu en je dus niet als bezoeker kunt navigeren.
Alleen begrijp ik onderstaande uitleg niet helemaal. Is het de bedoeling dat je van alle losse pagina's de naam ga wijzigen? bijvoorbeeld index.php is de hoofdpagina waarin alle onderliggende pagina vertoont moeten worden, dus dan sla ik het bestand home.htm. als volgt op index.php?page=home? op de ftp site?
Hoop dat je me verder kunt helpen!
 
en daar kan zeker niks aan gedaan worden?

Dat rewriten doet wel iets alleen niet wat ik wil, als ik de pagina toernooien/schaakgrens0809.htm achter mijn domein intyp dan zie ik nog steeds alleen deze pagina, zonder de rewrites, en mijn rss feed doet het ook niet en ik heb ook nog het probleem dat mijn 404 pagina niet meer wordt weergegeven, als ik een willekeurig adres intypt dan kom ik altijd op mijn startpagina.
Het is toch niet zo makkelijk als het leek:confused:[/CODE]

Dan moet je elke request binnen je domein opvangen en via de index pagina laten lopen. Je krijgt dan iets van:

PHP:
RewriteEngine on
RewriteRule  /((.*)/)* index.php?page=$1

p wordt dan een string die er uit kan zien als: nieuws/20/4/2009
Je kan die dan in PHP uit elkaar halen en de bijbedhorende pagina includen.
-
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan