index.html of deze20%pagina.html

Ik zit met het volgende te tobben:

Ik ben een site aan het maken met nogal veel ‘afdelingen’
Om de structuur zo helder mogelijk te krijgen, krijgt elk menu-item zijn eigen mapje met documenten. De documenten krijgen echter een naam die past bij hun inhoud. Dus contact/klachten.html en contact/vragen.html
Surf je echter naar url/contact/ dan moet je een index.html hebben om daar iets te laten zien.
Wat is daar nou een mooie oplossing voor?

In de index.html een redirect zetten? Een pagina die naar de homepage verwijst? Of zijn er nog andere leuke manieren?

Geen index.html ;)

Dan zien ze gewoon alle bestanden van die map (zoals hier.

Ik snap het probleem niet … Wil je geen index.html maar toch een pagina laten zien als je naar url/contact/ gaat? In dat geval moet je denk ik een beetje in /etc/httpd/httpd.conf sleutelen (als je daar bij mag).

Of wil je dat mensen níet naar url/contact/ kunnen gaan, zodat ze de directory-inhoud niet te zien krijgen? In dat geval zou ik gewoon een index.html maken met een redirect erin naar de hoofdpagina. Eén zo’n bestandje aanmaken (in de hoofddir van de website) en dan in elke directory een symlink ernaar zetten met de naam index.html is nog handiger, dan kun je alles in één keer aanpassen als je dat wilt.

Nee, ik doe niet aan open dirretjes.

Maak je toch iets moois met PHP :) maak een index.php bestand en zet erin:

<?php header(‘Location: http://www.darkraver.net/?p=home’); ?> en verander dat dus in jouw pagina die je als default wilt laten zien, en je kan eventueel op die defualt pagina een link zetten, Klachten? met een link :slight_smile:

Bijv:

<?php header(‘Location: http://www.YourSite.net/contact/vragen.html’); ?>

Zoals ik ook doe bij de paginas die ik niet aan mensen wil laten zien ( http://www.darkraver.net/images/ ) etc etc etc…

Of je maakt een soort '$task ='

Bijv: — index.php —

<?php
$task = $_GET[‘page’]; <==> ← … * <==>
if ($task == “klachten”) {
include_once(“contact.php”); } <==> Je klachten pagina…**<==>
elseif ($task == “vragen”) {
include_once(“vragen.php”); } <==> Je vragen pagina… **<==>
else include_once(“default.php”); <==>Als er geen opdracht word gegeven, laad (Include) hij automatisch deze pagina, dat kan bijvoorbeeld een algemene Contact formulier zijn :)<==>
?>

    • Je kan het woord ‘page’ aanpassen aan wat jij wilt, ‘contact’ bijv…
      ** - Verander klachten.php/vragen.php in de link waar hij staat, en je kan je .htm(l) document gewoon in .php veranderen, hij word dan ge ‘Include’ in de Index.php in de juiste Task.

Samengevat; zet de bovenstaande code !! zonder de tekst tussen de ‘<==>’ !! in een index.php, modify hem zoals jij het wilt, en de link word dan dus: www.JouwHost.nl/contact/?page=klachten . ( je hoeft niet index.php?page= etc etc te noemen, alleen de Directory, in dit geval ‘contact’ + ‘?page=klachten’ verander klachten dus in die $task == die jij wil laten zien.

PHP in het nederlands:
if ($task == “klachten”) {
include_once(“klachten.php”); }

Daar staad dus eiglijk:
Als de taak Klachten is, laad dan de pagina klachten.php

Voorbeelden, zodat het mischien wat duidlijker word :slight_smile:
http://www.darkraver.net/?p=contact2&page=vragen <laad vragen forumilier
http://www.darkraver.net/?p=contact2&page=klachten <laad klachten formulier
http://www.darkraver.net/?p=contact2 < laad default formulier

Snelcursus PHP :stuck_out_tongue: hoop dat je er wat aan hebt, als je vragen heb, mail me of IM me op iChat :slight_smile:

Er is nog een sneller, en super mooie oplossing met php, die ik ook gebruik, alleen dan is wel wat te veel codes om zomaar effe uit te leggen, als je geinstresseerd ben, post een reply of mail/ichat me :)

Leuke oplossingen voor op mijn eigen server maar dit draait op een wintelgeval met ASP. Dus dat gaat niet lukken.

Ik zal er toch (morgen) eens even naar kijken.

tnx

Oh, ik zou niks weten van ASP, maar je zal tog wel PHP kunnen draaien ? een beetje server moet dat wel kunnen ^_^ :)