login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Site navigatie

Offline Pieter - 31/08/2006 14:29
Avatar van PieterGouden medaille

SEO guru
Hey,

Ik ben bezig met een website te maken, en de navigatie verloopt in verschillende levels.

Ik weet dat een navigatie kan met zo'n switch include, maar het probleem is dat die dan niet meer seo-vriendelijk is. Dat kan waarschijnlijk aangepast worden met mod rewrite (heb er ooit nog over gelezen denk ik, en met even te googlen zal het me wel lukken).

Wat is dat uiteindelijk mijn vraag:

*Stel ik heb op mijn geïnclude pagina een link naar nog een andere pagina, die niet in mijn menu voorkomt, moet ik dan bij die pagina mijn extern css bestandje (met afbeeldingen) terug includen op die pagina, of terug op de indexpagina?

*Hoe zit het dan met de pads naar de img bestanden en css van mijn layout?

*Ik wil mijn menu dus weergeven als vb
http://www.site.be/info/contact.php
Als een persoon naar die link dan gaat, gaat er dan automatisch die include van vb contactformulier.inc enzovoort?

Ik ben nogal verward doordat ik nu deze ochtend al heel wat gezocht heb, en enorm veel verschillende dingen tegengekomen ben.

13 antwoorden

Gesponsorde links
Offline J0Sb31R - 31/08/2006 14:34 (laatste wijziging 31/08/2006 14:44)
Avatar van J0Sb31R Nieuw lid zie gewoon dat ge uwe css in uw header steekt en da die header op elke pagina geladen wordt hé.. kweet ni of ge er nu wijzer uit geworden zijt maar basically ist zo:

  1. <?php
  2. include('header.php');
  3. include('content.php');
  4. include('footer.php');
  5. ?>


in uwen header .php staat dus alle html code tot het deel waar uwe content begint and so on...

ff voor de duidelijkheid: dit is zéér simpel uitgelegd voor beginners... iemand die al enkele jaren met php bezig is (zoals ik) ga da ni meer zo doen (allez eigenlijk wel ma op een veel hoger niveau natuurlijk).

In verband me uw css en image locations.. kheb daar overlaatst een functieke voor geschreve...

  1. <?php
  2. /**
  3. * Get the current directory where the index file is located
  4. *
  5. * @return string current dir
  6. */
  7. function getScriptPath()
  8. {
  9. $pathArray = pathinfo($_SERVER['PHP_SELF']);
  10. if($pathArray['dirname'] == "/")
  11. {
  12. return "";
  13. }
  14. else
  15. {
  16. return $pathArray['dirname'];
  17. }
  18. }
  19. ?>


da returned de absulte locatie van uwen hoofd directory

dus

  1. <?php
  2. $absPath = getScriptPath();
  3. ?>
  4. <img src="<?=$absPath?>/images/bla.png" alt="" />


owja.. die mod rewrite:

ge wilt bv: www.mijnsite.be/profile/ => www.mijnsite.be/index.php?p=profile doen

  1. RewriteEngine on
  2. RewriteRule ^(profile|page1|page2)/$ index.php?p=$1


da moete dan in uw htaccess file zetten (wertk alleen met apache..met mod_rewrite aan!)
Offline Pieter - 31/08/2006 15:31
Avatar van Pieter Gouden medaille

SEO guru
Bedankt voor de info J0Sb31R.

Ik wilde trouwens die mod_rewrite omgekeerd doen als in jou voorbeeld, geeft denk ik betere seo, niet?

Bedoel je trouwens met die absolute locatie van mijn hoofddirectory het siteadres?
Of echt de hoofddirectory www waar je in werkt?

Op welk niveau pas jij deze dan toe? Ik dacht dat dit 1 van de betere manieren was?
Offline J0Sb31R - 31/08/2006 20:00
Avatar van J0Sb31R Nieuw lid da script geeft gewoon de map vana de / dir waar je index.php zich begeeft... (handig als ge mod rewrite gebruikt me nice url's)

ik weet ni echt wat ge bedoeld met omgekeerde mod_rewrite.. gaat da dan? 
Offline Pieter - 31/08/2006 20:34
Avatar van Pieter Gouden medaille

SEO guru
ah laat maar, ik bedoelde gewoon dat ik de mod_rewrite zou laten werken van
bv: www.mijnsite.be/index.php?p=profile => www.mijnsite.be/profile/
waardoor de seo verbetert. (dus omgekeerde van jou voorbeeld)


Citaat:
iemand die al enkele jaren met php bezig is (zoals ik) ga da ni meer zo doen (allez eigenlijk wel ma op een veel hoger niveau natuurlijk).

Op welke manier doe jij het dan? (of anderen die zin hebben om te antwoorden)
Offline bennieboy - 01/09/2006 00:06
Avatar van bennieboy HTML beginner vanaf het moment dat je een pagina include in een pagina met de benodigde css-file, dan wordt deze automatisch toegepast.
Offline xSc - 01/09/2006 08:44
Avatar van xSc Onbekend Ik gebruik eigenlijk altijd absolute paden: vanaf de 'root'.

/images/image.png

In dit geval staat /images/ op het niveau van index.html (als je begrijpt wat ik bedoel).

Ik maak gebruik van templates (Smarty).

Met mijn site gebruik ik jouw methode voor het includen. In mijn template staat de verwijzing naar CSS en de standaard afbeeldingen (kop, menu, enz.). De content include ik dus (switch).
Offline Pieter - 01/09/2006 09:55
Avatar van Pieter Gouden medaille

SEO guru
Is dit dan de beste/meestgebruikte(?) methode?

Bedankt voor de replies.
Offline bennieboy - 01/09/2006 10:09
Avatar van bennieboy HTML beginner Een websitemap ziet er bij mij zo meestal uit:

Site
::Images
::::Header
::::button
::::...
::index.php
::home.php
::css.css
Offline Thomas - 01/09/2006 11:26
Avatar van Thomas Moderator Je kunt layout en code toch scheiden?

In HTML bestaat er zoiets als een <base>-tag.
Daarin stel je zelf je "basis" in voor relatieve verwijzingen naar plaatjes en css, dus ook/al/zit/je/in/twintig/subfolders kun je nog steeds relatieve verwijzingen maken met je <base>-tag.

De base-tag bevat meestal gewoon de kale URL van je site (http://www.jesite.com/), zodat je vanuit elke willekeurige folder relatieve verwijzigen kunt doen.

Bijvoorbeeld:

<base href="http://www.jesite.com/" />

Je zit in admin/edit-profile.php

Dan kun je naar http://www.jesite.com/images/edit.gif wijzen met behulp van <img src="images/edit.gif" />, vanwege die base-tag.

Offline Pieter - 01/09/2006 11:40 (laatste wijziging 01/09/2006 11:41)
Avatar van Pieter Gouden medaille

SEO guru
Dat is de manier waarop ik nu ook bezig ben.
Nog een laatste vraagje:

Als ik die switch gebruik, hoe laat ik dan de eerste pagina laden?

Als voorbeeld, hier de code van mijn index.php:
http://plaatscode.be/2430/

Hier de code van mijn switch:
http://plaatscode.be/2431/

http://www.puskas.be/horpi/index.php
is de site momenteel.

[edit]
@Fangorn, bedankt voor de tip, dat wist ik nog niet!
Offline Thomas - 01/09/2006 11:51
Avatar van Thomas Moderator Een else-statement maken voor als $_GET['pagina'] niet geset is?

Dit sjabloon kun je altijd volgen:

  1. <?php
  2. if(isset($_GET['pagina']))
  3. {
  4. // kijk of $_GET['pagina'] een zinnige waarde bevat
  5. switch($_GET['pagina'])
  6. {
  7. case "whatever":
  8. ....;
  9. break;
  10.  
  11. // $_GET['pagina'] bevatte geen zinnige waarde - pak default
  12. default:
  13. ...;
  14. }
  15. }
  16. else
  17. {
  18. // $_GET['pagina'] was niet geset - pak default
  19. ...
  20. }
  21. ?>
Offline Rik - 01/09/2006 11:53 (laatste wijziging 01/09/2006 11:56)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Om die if ... else weg te werken kan je in de switch ook dit zetten:
isset($_GET['pagina']) ? $_GET['pagina'] : ''
Offline Pieter - 01/09/2006 12:21
Avatar van Pieter Gouden medaille

SEO guru
Ok, ik heb het aan de praat gekregen.
Jullie zijn allemaal heel erg bedankt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.654s