Hosting.nl - Veel Gestelde Vragen - URL rewrite op Windows

URL rewrite op Windows

Veel PHP scripts maken gebruik van URL rewrite technologie. Deze vaak technologie is afhankelijk van Apache met Mod_Perl en werkt middels het .htaccess bestand. Deze aanpak is puur gebaseerd op Apache, Hosting.nl gebruikt echter native IIS op haar Windows webservers (Linux webservers werken ook bij ons met Apache en Mod_Perl). Dit resulteert in het niet kunnen gebruiken van de URL rewrite manier zoals deze in linux gebaseerde php scripts gebruikt wil worden.

In Asp.Net bestaat er een URL write script dat gelijkwaardig aan de Mod_Perl rewrite functioneerd; zie http://www.codeproject.com/KB/aspnet/urlrewriter.aspx.

In PHP zou u het kunnen op lossen door de vriendelijke naam af te vangen met een custom 404 pagina en deze 404 pagina te vullen met content uit de database of door daadwerkelijk een 404 te serveren. Deze oplossing heeft als nadeel dat de webserver de pagina te samen met de 404 code teruggeeft in plaats van een ok (200), voor de bezoeker zal er echter geen verschil zijn. Vergeet hierbij echter niet ook de juiste HTTP header te zetten (404 voor niet bestaand 200 voor goed).

Handige functies hierbij zijn;
http://nl.php.net/manual/en/function.parse-url.php
http://nl.php.net/manual/en/function.is-dir.php

Voorbeeld rewrite en redirect script:

$url = "http://www.siteexample.com/aaa/xxx/index.php";

$parts = parse_url( $url );
$matches = array();
$pattern = '/^\/([-0-9a-zA-Z]+)([\/]*)(.*)$/';
preg_match( $pattern, $parts['path'], $matches );

echo "Go to http://{$parts['host']}/test/{$matches[1]}";
?>

Als u uitsluitend PHP gebruikt dan is het uiteraard ook mogelijk om uw pakket om te zetten naar een Linux pakket, hou er echter rekening mee dat u daarbij al uw instellingen (e-mail, databases, etc.) en data er opnieuw moet inzetten.



Was dit antwoord nuttig?

Aan favorieten toevoegen Aan favorieten toevoegen

Print dit artikel Print dit artikel

Lees ook

Snelle navigatie


Login

Email

Wachtwoord

Herinner mij