home | tutorial | asp | mod_rewrite mit asp
nun mal ein kleiner workaround zum thema mod_rewrite mit asp...
(bei google hab ich dazu nix gefunden!)
mod_rewrite ist ein apache modul für die url manipulation. anhand von regexp
regeln kann man die oft kryptischen url-adressen dynamischer webseiten umschreiben,
und somit suchmaschinen-freundlicher gestalten.
mit dem iis ist ein mod_rewrite über den isapi filter möglich. allerdings wird
sowas von vielen webspace providern nicht unterstützt. da nicht jeder über
einen eigenen rootserver verfügt. will ich euch hier mal ein kleines beispiel
zeigen wie ein mod_rewrite alternativ auf dem iis realisiert werden kann.
das ganze läuft über die 404er fehlermeldungsseite. welche bei den meisten
mir bekannten webspace providern (windows, iis) frei definiert werden darf.
die funktionsweise der 404er fehlermeldungsseite dürfte jedem webdesigner bekannt
sein.
nun ein kleines beispiel wie sowas realisiert werden kann.
wir haben z.b. so einen link:
http://www.meinedomain.de/meineseite.asp?meine_id=1234
um das ganze suchmaschinen freundlicher zu gestalten, ändern wir den link nun
so ab:
http://www.meinedomain.de/meineseite/meine_id/1234
wenn nun auf den neuen link geklickt wird meldet sich natürlich die 404er fehlermeldungsseite.
und da setzen wir jetzt an....
wir erstellen einfach ne neue 404er fehlerseite. ich nenne die mal 404.asp
in der neuen 404er seite wird nun der link zerlegt und anschließend weitergeleitet
auf die vorhandene url ( http://www.meinedomain.de/meineseite.asp?meine_id=1234
)
hier nun eine komplette beispiel 404.asp, die ihr auch selbst modifizieren
könnt...
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
' dimensionieren der variablen
' ------------------------------------------------------------
dim protokol, teillinkneu, teillinkalt, meinlink, dieid, alterlink
' den variablen werte zuweisen
' ------------------------------------------------------------
protokol = "http://"
teillinkneu = "/meineseite/meine_id/"
teillinkalt = "/meineseite.asp?meine_id="
meinlink = request.serverVariables("QUERY_STRING")
' wenn der link /meineseite/meine_id/ enthält
' wird der link zerlegt und neu zusammengesetzt
' ------------------------------------------------------------
if instr(meinlink,teillinkneu)>0 then
dieid = split(meinlink, teillinkneu)
alterlink = protokol & request.ServerVariables("HTTP_HOST") & teillinkalt & dieid(1)
' der redirect zum neu zusammengesetzen link
' ------------------------------------------------------------
response.Redirect(alterlink)
end if
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta name="description" content="mod_rewrite mit asp ..
milan kapetanov . www.inxus.de"/>
<meta name="keywords" content="mod_rewrite, mod, rewrite,
asp, milan, kapetanov, www.inxus.de, inxus"/>
<meta name="publisher" content="milan kapetanov . www.inxus.de"/>
<title>mod_rewrite mit asp .. milan kapetanov . www.inxus.de</title>
</head>
<body>
<p>Diese Seite existiert nicht oder nicht mehr. Bitte überprüfen
Sie die
Adresse</p>
<p>eine mod_rewrite 404.asp demo zum einsatz unter iss und asp. <br/>
2006 milan kapetanov .. <a href="http://www.inxus.de">inxus
group</a></p>
</body>
</html>
statt dem response.redirect kann dann natürlich auch gleich
die seite dargestellt werden. für die indizierung durch suchmaschinen spielt
das keine rolle.








