Skapa först en fil som du kallar för rewrite.php och skriv sedan följande kod i filen:
<html>
<head>
<title>Testa Apache mod_rewrite</title>
</head>
<body>
<h2 style="text-align: center;">
<?php
// En variabel som används i testet
if ($_GET['link']==1)
{
echo"Du använder inte mod_rewrite";
}
elseif ($_GET['link']==2)
{
echo"Grattis! Du använder Apache's mod_rewrite";
}
else
{
echo"Apache mod_rewrite Test";
}
?>
</h2>
<p><a href="rewrite.php?link=1">Länk 1</a> = rewrite.php?link=1</p>
<p><a href="link2.html">Länk 2</a> = link2.html</p>
</body>
</html>
Skapa sedan en fil som du kallar för .htaccess och lägg sedan till följande kod i filen:
RewriteEngine On
RewriteRule ^link([^/]*)\.html$ rewrite.php?link=$1 [L]
Så här fungerar det: Båda länkarna leder till samma sida men de ser olika ut. Länk 1 anropar rewrite.php direkt med parametern 1. Länk 2 anropar link2.html och detta upptäcker mod_rewrite (om vi har gjort rätt) och ser efter i sin RewriteRule vilka adresser som ska omvandlas till rewrite.php?link=x.
Fotnot
I min httpd.conf har jag satt
AllowOverride All
som tillåter att vi kan ändra allt i en .htaccess-fil, ochLoadModule rewrite_module modules/mod_rewrite.so
som aktiverar mod_rewrite för Apache.Källa
Jag fann koden på följande sida how-to-test-check-if-mod-rewrite-is-enabled och den hör till Webune.com. Men det är jag som har översatt till svenska och gjort koden mer lättläslig.
Inga kommentarer:
Skicka en kommentar