Toon posts:

htaccess RewriteEngine niet bestaande pagina's

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb voor een aantal websites van mij een htaccess file geschreven waardoor
de file o.php ( bijv o.php?id=123 ) herschreven word als 123.html

In de htaccess file staat hetvolgende:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*)\.html$ /o.php?id=$1

Als bijv id 989 (o.php?id=989) niet bestaat, dan laat hij een lege pagina zien, alsof
deze pagina dus wel bestaat.

De bedoeling is eigenlijk dat als bijv die id 989 niet bestaat hij naar de 404 error pagina gaat.

Ik heb hier op het forum zitten zoeken, maar kan niet echt iets vinden dat werkte.

Iemand toevallig hier een oplossing voor?

Bvd

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 14:38
Dat kan Apache natuurlijk niet voor je beslissen, want PHP bedenkt of de pagina niet bestaat. Wel kun je vanuit PHP gewoon een 404 response genereren:
PHP:
1
2
3
4
5
6
<?php
if( /* ... id ongeldig ... */ ) {
    header("HTTP/1.0 404 Not Found");
    exit();
}
?>

[ Voor 30% gewijzigd door Soultaker op 06-03-2005 02:22 ]


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Wat je post komt niet overeen met wat je zegt. Je zegt dat o.php?123 wordt herschreven naar 123.html. In je htaccess staat echter precies het omgekeerde; 123.html wordt herschreven naar o.php?123. Het gevolg is dat Apache alle paginaverzoeken; (bestaand of niet boeit niet) doorstuurt naar o.php In o.php moet je dus de code opnemen om een 404 te genereren; zoals Soultaker al uitlegt :)

Verder heeft dit niets met NOS te maken volgens mij?

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate