Seite 1 von 2
Dateiendung in URL entfernen
Verfasst: 15.02.2011, 23:22
von Bjoern_S
Hallo,
die anderen Beispiele im Forum haben leider nicht geholfen.
Bei Eingabe von
domain/beispiel
soll domain/beispiel.html
geöffnet werden.
Bei Eingabe von
domain/beispiel.html
soll auf
domain/beispiel
weitergeleitet werden (entsprechend sichtbar in Adresszeile)
und ebenfalls die Datei domain/beispiel.html geöffnet werden (s.o.)
Mit meinen Versuchen hatte ich leider keinen Erfolg.
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Verfasst: 15.02.2011, 23:26
von r-alf
Irgendwie hab ichs nict verstanden..... Willst du nun beispiel oder beispiel.html ???
Und warum eigentlich?
Verfasst: 16.02.2011, 00:08
von Bjoern_S
beispiel ist in diesem Fall kein Verzeichnis, sondern die gekürzte URL, also eigentlich die beispiel.html-Datei. In der Adresszeile soll nach Weiterleitung immer domain/beispiel stehen, egal ob domain/beispiel oder domain/beispiel.html eingegeben wird. So das entsprechend bei Google auch in den Suchergebnissen domain/beispiel steht.
Weil's schöner aussieht

Verfasst: 16.02.2011, 00:20
von r-alf
RewriteRule ^beispiell(.*)$
https://www.domain.tld/beispiel [L,R=301]
Verfasst: 16.02.2011, 02:45
von tided
Aber das ist jetzt nur für die Unterseite beispiel.html oder?
Wie kann man das verallgemeinern, dass jede Unterseite einer Website ohne die Dateiendung angezeigt wird?
Verfasst: 16.02.2011, 07:47
von Synonym
Code: Alles auswählen
#intern aufrufen
RewriteRule ^beispiel$ /beispiel.html?redirect=1 [L]
#weiterleiten
RewriteCond %{QUERY_STRING} !redirect=1
RewriteRule ^beispiel\.html$ /beispiel [R=301,L]
ungetestet !
Verfasst: 17.02.2011, 22:38
von Bjoern_S
Danke, funktioniert nach kleiner Änderung:
Code: Alles auswählen
RewriteRule beispiell(.*)$ http://www.domain.tld/beispiel [L,R=301]
Was bewirkt das nun fehlende Zeichen?
Die Weiterleitung von /beispiel.html zu /beispiel nur mit internem Aufruf von beispiel.html funktioniert leider nicht.
Verfasst: 18.02.2011, 07:19
von Synonym
Die Weiterleitung von /beispiel.html zu /beispiel nur mit internem Aufruf von beispiel.html funktioniert leider nicht.
verstehe ich nicht. Was nun, Weiterleitung oder interner Aufruf?
So funktioniert das sicherlich nicht... "Beispiell" mit zwei L
Verfasst: 18.02.2011, 17:25
von Bjoern_S
Synonym hat geschrieben:Die Weiterleitung von /beispiel.html zu /beispiel nur mit internem Aufruf von beispiel.html funktioniert leider nicht.
verstehe ich nicht. Was nun, Weiterleitung oder interner Aufruf?
So funktioniert das sicherlich nicht... "Beispiell" mit zwei L
Hab ja beispiell durch den entsprechenden Dateinamen ersetzt.
Korrigiert: Und es soll so sein, dass von beispiel.html weitergeleitet wird, also in der Adresszeile soll dann beispiel stehen, aber es soll natürlich trotzdem beispiel.html aufgerufen werden.
Verfasst: 19.02.2011, 09:32
von Synonym
Und es soll so sein, dass von beispiel.html weitergeleitet wird, also in der Adresszeile soll dann beispiel stehen, aber es soll natürlich trotzdem beispiel.html aufgerufen werden. So wie im oben wird von beispiel zu beispiel.html weitergeleitet, so dass dann auch entsprechend beispoiel.html in der Adresszeile steht.
Sorry, aber ich verstehe da noch immer nichts. Wenn man denkt, man weiß was Du willst, dann schreibst Du wieder was anderes....
Hast Du Dir mal meine Beispiele oben angesehen???
Deines eben....
"So wie im oben wird von beispiel zu beispiel.html weitergeleitet"
Nein, wird es nicht. Das Beispiel (Dein Zitat) leitet beispiel.html an beispiel weiter, nicht umgekehrt
"so dass dann auch entsprechend beispoiel.html in der Adresszeile steht."
Und das tut es auch nicht. Bei dem Code-Beispiel würde dann "beispiel" in der URL stehen.
Verfasst: 19.02.2011, 19:37
von Bjoern_S
Ich glaub ich hab da beim testen n paar Codes durcheinander gebracht

Ich probiers nochmal und meld mich dann.
Verfasst: 20.02.2011, 20:16
von Bjoern_S
Code: Alles auswählen
RewriteRule ^produkt(.*)$ http://test0000.com/kategorie/marke/produkt [R=301,L]
Also da tut sich beim Aufruf von produkt.html nichts. Gleiche Seite mit .html in der Adresszeile.
Verfasst: 21.02.2011, 08:53
von Synonym
Es ist echt schwierig so....
Also Du willst von
https://test0000.com/produkt.html weiterleiten nach
https://test0000.com/kategorie/marke/produkt
richtig? Sicher? Oder fehlen da nun ein paar Ordner?
Oder ist die URL eigentlich offiziell
https://test0000.com/kategorie/marke/produkt.html ?
Wenn letzteres, dann....
Code: Alles auswählen
RewriteRule ^kategorie/marke/produkt\.html$ http://test0000.com/kategorie/marke/produkt [R=301,L]
Nur so zur Info... Dein Beispiel zuvor war "
https://www.domain.tld/beispiel", das ist aber ein himmelweiter Unterschied! Mit diesen fiktiven "möchtegern-könnte-so-sein-oder-so-ähnlich-Angaben" gibt es immer Probleme und macht nur unnötig arbeit.
So, und die Rule leitet nun weiter an
https://test0000.com/kategorie/marke/produkt , diese URL gibt es aber nicht und es wird ein 404 kommen. Dann musst Du dem System eben beibringen, dass der die URL
https://test0000.com/kategorie/marke/produkt intern "auflösen" soll in
https://test0000.com/kategorie/marke/produkt.html .... Und schon bin ich wieder da, wo ich schon am Anfang war. Das sind genau meine Beispiele oben, nur dass in denen die Ordner fehlen (war ja auch nicht bekannt).
Verfasst: 21.02.2011, 21:07
von Bjoern_S
Synonym hat geschrieben:Mit diesen fiktiven "möchtegern-könnte-so-sein-oder-so-ähnlich-Angaben" gibt es immer Probleme und macht nur unnötig arbeit.
Deswegen hab ich ja jetzt mal ein konkretes Beispiel genannt, sorry wegen dem Chaos
Genau das meinte ich oben. Eben nur intern, aber in der Adresszeile immer nur
https://test0000.com/kategorie/marke/produkt
Aber das funktioniert bei mir nicht.
Verfasst: 22.02.2011, 10:11
von Synonym
So, dann mach erst mal die Weiterleitung aus der htaccess wieder raus, bzw. setzte ein # davor (auskommentieren)
Dann schreibe rein
Code: Alles auswählen
RewriteRule ^kategorie/marke/produkt$ /kategorie/marke/produkt.html [L]
Danach rufe die Seite
https://test0000.com/kategorie/marke/produkt auf. Nun sollte in der Adresszeile die URL gleich bleiben (ohne .html) und die andere Seite intern angefordert werden.
Wenn das nicht geht, dann liefere bitte mehr Fehlermeldungen oder eine genauere Beschreibung. Dann auch mit der kompletten .htaccess.
Nachtrag: Gibt es "/kategorie/marke/produkt.html" überhaupt als Ordner und Datei auf dem Server, oder werden die URLs auch dynamisch erzeugt?