Seite 1 von 1

mod-rewrite - domain.de liefert .php anstatt .htm

Verfasst: 08.11.2005, 22:02
von winformatiker
Ich habe ein kleines Problem, oder doch nicht?

Ich habe derzeit zwei Startseiten eingerichtet. 1x mit der Endung .html und einmal mit der Endung .php.

Eigentlich möchte ich nur die .php behalten und die andere löschen.

Der Grund warum ich sie überhaupt erstellt habe ist, dass beim Aufruf von www.domain.de immer www.domain.de/index.php im Adressfeld des Browsers angezeigt wird obwohl der DirectoryIndex auf index.htm liegt und diese dann per mod_rewrite auf .php umgeschrieben wird.

Hier die verantwortlichen Teile der htaccess:

DirectoryIndex index.htm

RewriteRule ^(.+)-(.+)-(.*)\.htm$ /$1.htm?$2=$3&%{QUERY_STRING} [N]
RewriteRule ^(.+)\.htm$ /$1.php [L]

Die Rules sind so aufgebaut das beliebig viele Parameter ala seite-var-wert.htm angegeben werden können. Wer Sie also gebrauchen kann, kann sie 1zu1 übernehmen (evtl. mit Modifikation für die Startseite, mal sehen was hier rauskommt).


Nun zu meiner eigentlichen Frage.

Warum wird anstatt index.htm index.php angezeigt wenn ich diese Zeilen verwende und www.domain.de aufrufe? Bei allen Seiten die per .htm aufgerufen werden steht es auch so im Adressfeld.

winformatiker

Verfasst:
von

mod-rewrite - domain.de liefert .php anstatt .htm

Verfasst: 09.11.2005, 16:14
von winformatiker
60 Aufrufe und keiner ne Antwort?

mod-rewrite - domain.de liefert .php anstatt .htm

Verfasst: 09.11.2005, 19:11
von matin
... da gibt's wahrscheinlich nicht viele hier, die den code verstehen :wink:

mod-rewrite - domain.de liefert .php anstatt .htm

Verfasst: 09.11.2005, 19:12
von matin
wenn in diesem forum dir keiner helfen kann, dann versuch's einfach mal hier:
https://www.modrewrite.de/foren/

Verfasst: 09.11.2005, 23:39
von winformatiker
Vielen Dank für den Tip mit dem modrewrite Forum. Aber ich glaube nicht das es mit den Regln was zu tun hat.

Wenn jemand sowieso die Regeln gebrauchen kann und diese verwendet, kann er ja mal durchklingen lassen ob das selbe Phänomen bei ihm auch auftaucht. Sollte sich jedenfalls lohnen diese zu verwenden da man so theoretisch auch 20 Variablen anhängen kann, wenn nötig. BTW: Es darf kein Minus im Dateinamen verwendet werden, da dies der Delimiter ist.

Für Lösungsansätze bin ich jedoch auch weiterhin in diesem Thread offen.

winformatiker

Verfasst: 09.11.2005, 23:55
von jensjk
hast du die Regeln selbst erstellt und bist dir im klaren was es bedeutet? Wenn ja, dann gib mal ein Tip warum es so umständlich definiert ist und drück evtl. mal klarer aus was du wirklich bezwecken willst. Evtl. helefen ja auch ein paar beipiel-urls, denn nur für eine idnex.htm ist es wohl etwa sviel Aufwand?

mod-rewrite - domain.de liefert .php anstatt .htm

Verfasst: 10.11.2005, 02:45
von winformatiker
@jensik
Hey du hast ja sogar Recht gehabt. Da war wirklich viel Balast drin.

Habe das erste Posting daraufhin editiert und alles richtig gestellt.

Zu deiner Frage: Nein ich hatte Sie kopiert und war im guten Glauben das es schon so stimmt. Habe ein paar Dinge geändert und es hatte funktioniert. Da ich keine weitere Zeit damit verschwenden wollte habe ich auch nicht weiter darauf geachtet.

Dein Posting hat mich allerdings zum nachdenken gebracht und jetzt hab ich sie vereinfacht geschrieben. Ich denke weniger Code geht nicht. Korrigiere mich wenn es doch geht.

Danke für den Einwand.

Ach ja, Beispiel URL:

Die Parameter müssen zwischen Seitenname und .Endung und jeweils durch Minus getrennt werden.

domain.de/seite1-name1-wert1-name2-wert-2-name3-wert3.htm

Gruß
winformatiker

mod-rewrite - domain.de liefert .php anstatt .htm

Verfasst: 10.11.2005, 04:49
von Caterham
zu meiner eigentlichen Frage.

Warum wird anstatt index.htm index.php angezeigt wenn ich diese Zeilen verwende und www.domain.de aufrufe? Bei allen Seiten die per .htm aufgerufen werden steht es auch so im Adressfeld.
Welche Apache Version verwendest du?

Verfasst: 10.11.2005, 08:49
von jensjk
in der 2. Zeile leitest du die index.htm auf die index.php weiter, die erste zeile trifft ja da nicht zu. Ob die geänderte URL im Browser angezeigt wird ist von der Art der Weiterleitung (z.B. 301 oder 302) abhängig, die kannst ud in der eckigen Klammer z.B. mit [L,R=301] angeben.