login  Naam:   Wachtwoord: 
Registreer je!
 Forum

.htaccess slash-probleem

Offline koosax - 12/04/2011 14:53
Avatar van koosaxLid Hoi,

Ik heb het volgende stukje code om clean url's te maken:
  1. RewriteEngine on
  2.  
  3. RewriteCond %{REQUEST_FILENAME} !-f
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5.  
  6. RewriteRule ^(.*)$ index.php?pid=$1 [L,QSA]


Alleen krijg je nu wanneer je een slash achter de link zet de 404 pagina te zien (home werkt en home/ werkt dus niet) ik heb al van alles geprobeerd maar ik krijg maar niet voor elkaar om dit te laten werken.

Hopelijk weet een van jullie het wel  

8 antwoorden

Gesponsorde links
Offline pinquin - 12/04/2011 16:08
Avatar van pinquin HTML interesse Hoi koosax,

Werkt het mischien als je deze regel onder regel 6 zet.
  1. RewriteRule ^(.*)/$ index.php?pid=$1 [L,QSA]

Regel 6 gekopieerd met een /slash voor $

gr,
Offline koosax - 12/04/2011 16:14
Avatar van koosax Lid
pinquin schreef:
Hoi koosax,

Werkt het mischien als je deze regel onder regel 6 zet.
[..code..]
Regel 6 gekopieerd met een /slash voor $

gr,


Nee dit werkt niet, volgens mij moet je zo wie zo van groot naar klein werken toch?

Alleen als ik dat doe dan krijg ik wel de goede pagina maar zijn al mijn plaatjes en mijn CSS weg.
Offline Joost - 12/04/2011 18:06
Avatar van Joost PHP expert Je moet dan een exceptie maken voor de map images (en andere mappen met statische content). Met Google is dat wel te vinden, ik weet het zo niet uit mijn hoofd
Offline pinquin - 13/04/2011 13:25 (laatste wijziging 13/04/2011 13:26)
Avatar van pinquin HTML interesse Dit zou je css en js bestanden ongemoeid moeten laten als je het boven je overige reweriterules zet.
  1. RewriteRule ^\.(css|js) - [L]
Offline koosax - 13/04/2011 20:57
Avatar van koosax Lid
pinquin schreef:
Dit zou je css en js bestanden ongemoeid moeten laten als je het boven je overige reweriterules zet.
[..code..]


Nee dit werkt ook niet, snap er niks van waarom niks werkt.

Heb nu RewriteEngine off in de style-map en images-map zitten nu werkt het opzich wel alleen krijg ik nu een 404pagina wanneer ik naar de homepage ga. (/pagina werkt wel / werkt niet) er moet dus perse een pagina-naam achterstaan.
Offline ArieMedia - 13/04/2011 23:46
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Roep je images eens aan d.m.v te beginnen met een slash

/styles/images/afbeelding.png

Of wat ook kan
globals.php
  1. define('_HTTP_PATH', 'http://www.jousite.nl');
  2. define('_IMG_PATH', _HTTP_PATH.'/styles/images/');


index.php
  1. <html>
  2. <head></head>
  3. <body>
  4. <img src="<?php echo _IMG_PATH; ?>afbeelding.png" />
  5. </body>
  6. </html>
Offline koosax - 14/04/2011 17:06 (laatste wijziging 17/04/2011 16:03)
Avatar van koosax Lid
ArieMedia schreef:
Roep je images eens aan d.m.v te beginnen met een slash

/styles/images/afbeelding.png

Of wat ook kan
globals.php
[..code..]

index.php
[..code..]


Ik maak gebruik van een basehref dus daar ligt het niet aan.

Het probleem is nu gewoon dat wanneer ik naar mijn website ga zonder een pagina mee te geven. (moet dus gewoon op home uitkomen) er dan een 404 verschijnt. Verder werkt alles nu gewoon.


--------------------------------------------------
Ik ben er eindelijk achter wat er fout was!

Ik had in mijn index.php de volgende code staan:

  1. if(isSet($_GET['pid'])){
  2.  
  3. $pid = $_GET['pid'];
  4.  
  5. }else{
  6.  
  7. $pid = 'home';
  8.  
  9. }


Om een of andere reden keek het script niet meer of pid gevult was en kreeg een lege pid niet automatisch als waarde home. Daarom heb ik de code verranderd in:

  1. if(!empty($_GET['pid'])){
  2.  
  3. $pid = $_GET['pid'];
  4.  
  5. }else{
  6.  
  7. $pid = 'home';
  8.  
  9. }


En nu werkt het helemaal.

Voor iedereen die mee heeft gedacht, bedankt!
Offline marten - 17/04/2011 21:07
Avatar van marten Beheerder Antwoord is al gevonden maar even ter informatie en voor de leercurve 

Bekijk de htaccess van html5Boilertemplate eens en zuig de informatie in je op. (Ze maken trouwens gebruik van :

  1. RewriteRule ^(.*)/$ /$1 [R=301,L]


om een trailing slash eruit te filteren.

http://html5boilerplate.com/
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.228s