• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Frage zu mod_rewrite

Slashwalker

Winterbanana
Registriert
15.05.06
Beiträge
2.213
Hallo ATler,
ich arbeite gerade an einer datenbankgestützten Seite, welche immer in der Form index.cfm?site=zu-ladende-seite aufgerufen wird. Um die URL für Suchmaschinen umzuschreiben, wollte ich mit mod_rewrite arbeiten.

Bei Google habe ich folgendes Tutorial gefunden
http://www.ranking-konzept.de/mod_rewrite.html

Also habe ich die .htaccess für mein Zwecke umgeschrieben.
RewriteEngine On
RewriteRule ^(.*)$ /index.cfm?site=$1 [L]


Wenn ich nun http://localhost/seite1 aufrufe, bekomme ich einen 404, denn Seite1 existiert ja nicht wirklich. Aber was ist an der Condition falsch?

Beim Aufruf von http://localhost/seite1 soll index.cfm?site=seite1 aufgerufen werden.
 
So, ich hab jetzt noch ein anderes Tutorial gefunden:
http://www.aboutwebdesign.de/awd/content/1042302787.shtml

Und es entsprechend umgeschrieben
RewriteEngine On
RewriteRule ^/seiten/([0-9]+)$ /index.cfm?site=$1

Und dann
http://localhost/seiten/1
Die index.cfm wurde entsprechend angepasst um auf site=1 reagieren zu können.

Auch das führt zu einem 404 Not found. Lokal als auch auf einem Produktiv-Server.

Edith:

Mit folgenden Conditions funktioniert es
RewriteEngine On
RewriteRule (.*)\.htm index.cfm?site=$1

Jetzt muss ich das .htm noch wegbekommen.

Edith die zweite:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9]+)$ index.cfm?site=$1

Funktioniert teilweise.
Wenn ich http://loclahost/seite5 aufrufe erhalte ich einen ColdFusion Fehler, da die site 5 in index.cfm nicht definiert ist.

Ruf ich aber http://localhost/seite2 auf erhalte ich einen 404, site 2 ist definiert.
 
Zuletzt bearbeitet:
Jetzt gehts!

Options -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9]+)$ index.cfm?site=$1