• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> 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