Rewrite Rule Problem

Dann muss aber auch in die .htaccess:

Code:
RewriteRule news.html injdex.php?site=news

Hab ich gemacht. Jetzt geht wieder gar nichts mehr.
Ich hab mal ne Frage. Ihr habt vorhin irgendwas von Zeilenumbruch gesagt.
Kann es sein, dass man die .htaccess nicht einfach im notepad editieren darf?

Gruß Steffen
 
Astrodan: genau das wollte ich auch gerade schreiben.
Ein
RewriteRule news.html news.php
hilft dann natürlich nicht weiter.

Wenn alle Seiten auf diese Weise angepackt werden sollen, dann kann man das natürlich auch generisch machen.
RewriteRule (.*)\.html index.php?site=$1 ( oder so ähnlich, hab die Syntax grad nicht auswendig im Kopf )
 
Zuletzt bearbeitet:
Wenn alle Seiten auf diese Weise angepackt werden sollen, dann kann man das natürlich auch generisch machen.
RewriteRule (.*)\.html index.php?site=$1 ( oder so ähnlich, hab die Syntax grad nicht auswendig im Kopf )

Das würde nicht funktionieren, weil nicht alle seiten auf diese weise includet werden.

Nochmal zur Frage oben:
Ihr habt vorhin irgendwas von Zeilenumbruch gesagt.
Kann es sein, dass man die .htaccess nicht einfach im notepad editieren darf?
 
Editieren mit notepad ist ok. Man muss eher beim Upload mittels ftp aufpassen. ( ASCII mode verwenden, nicht BINARY ).
 
das weiss ich nicht, filezilla verwende ich nicht.

ich schieb die Datei immer als htaccess.txt auf den Server und rename sie dort um. Da hab ich mit meinem FTP-Programm keine Probleme damit
 
Meinst du es würde Sinn machen, die mal neu zu schreiben unzwar nach diesen Strict regeln, die du am Anfang erwähnt hattest?

Gruß Steffen
 
RewriteRule (.*)\.html index.php?site=$1 ( oder so ähnlich, hab die Syntax grad nicht auswendig im Kopf )

Das würde nicht funktionieren, weil nicht alle seiten auf diese weise includet werden.
Würde es, wenn du erst alle anderen Seiten einbaust. hinter die Rules nen [L] schreibst und dann erst den allgemeinen Ausdruck. Aber ich würds erstmal so zum laufen bringen, weiter machen kannst dann immernoch ;)
 
danke.

Die sieht soweit ok aus.
Grundsätzlich steht der . für ein beliebiges Zeichen, wenn ich z.B. die index.html adressieren möchte, würde ich den Punkt escapen ( index\.html ). Ausserdem würde ich noch Anfang und Ende markieren ( mit ^ und $ ).
Vielleicht noch ein [L] hinter jede Regel ? ( Da kann sich vielleicht noch ein Profi dazu äussern, ob das generell sinnvoll ist, oder unnötig ).

So wie die .htaccess da steht scheint sie aber zu funktionieren. Ich konnte zumindest alle Seiten abrufen. Es scheint lediglich keine news.html und keine news.php Datei in dem Verzeichnis zu geben.

Das mit escapen ist klar. Aber kannst du mir mal ein Beispiel für eine Zeile mit dem Anfang bzw. Ende geben? Das ist mir noch nicht ganz klar.
Das [L] lasse ich lieber erstmal weg.

Gruß Steffen
 
RewriteRule ^news\.html$ index.php?site=news

trifft nur zu, wenn der Pfad mit news anfängt, und mit html aufhört, nicht aber auf rnews.html
Also, ^ bedeutet generell, dass das Zeichen was folgt am anfang stehen muss, $ bedeutet, dass das vorhergehenede Zeichen am Ende des ausdrucks sein muss.
Hoffe das hilft
 
Genau, die ersten Zeilen der .htaccess würden also so aussehen:

RewriteEngine On
RewriteRule ^index\.html$ index.php
RewriteRule ^impressum\.html$ index.php?site=impressum
RewriteRule ^partner\.html$ index.php?site=partner
...
 
Jetzt funktioniert alles ;)
Tausend dank an euch zwei

Und so sieht die .htaccess jetzt aus:
Code:
RewriteEngine On

RewriteRule ^index\.html$ index.php

RewriteRule ^impressum\.html$ index.php?site=impressum

RewriteRule ^partner\.html$ index.php?site=partner

RewriteRule ^guestbook\.html$ guestbook.php

RewriteRule guestbook_(.*).html guestbook.php?page=$1

RewriteRule ^kontakt\.html$ kontakt.php

RewriteRule ^linkus\.html$ index.php?site=linkus

RewriteRule ^news\.html$ index.php?site=news

RewriteRule ^zitate\.html$ zitate.php

RewriteRule ^suche\.html$ suche.php

RewriteRule ^eintragen\.html$ eintragen.php

RewriteRule zitate_(.*)_(.*)_(.*).html suche.php?page=$1&fach=$2&schule=$3

RewriteRule zitate_(.*).html zitate.php?page=$1

Nochmal Rießen Dank euch Beiden