• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> 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.
 

Slashwalker

Winterbanana
Registriert
15.05.06
Beiträge
2.213
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:

Slashwalker

Winterbanana
Registriert
15.05.06
Beiträge
2.213
Jetzt gehts!

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