Hilfe - Suche - Mitglieder - Kalender
Vollansicht: Fragen zur htaccess
Forum Sefrengo.org > Allgemeine Foren > Anwenderforum
pawel
Hallo zusammen,

das mod_rewrite arbeitet gut, ist für mich ein echtes "killing feature".

Trotzdem bleiben noch wünsche offen.
Bei der Option mod_rew2 wird so etwas
http://www.domain.de/ordnername/ korrekt angezeigt.
Was nicht funktioniert (wenn bpws. Nutzer die URl per Hand eingeben) ist
http://www.domain.de/ordnername (also ohne slash).

Ich habe versucht, es per redirect abzufangen:
redirect /ordnername http://www.domain.de/ordnername/
was aber nicht funktioniert, da sich die Regeln dann wohl in einer Endlosschleife bewegen.

FF gibt folgende Meldung:
Fehler: Umleitungsfehler
Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann.

Hat jemand eine Idee?
gunwalt
Ich weiss nicht, ob ich Dich richtig verstehe ..., aber Alex schrieb in irgendeinem Beitrag einmal, das manuelle URLS komplett eingetragen werden müssen, also mit Extender, und ich ergänze in dem Sinne auch mit Backslash.
pawel
Ja, das ist richtig, ansonsten erhält man eine weiße Seite.

Vom Nutzer her gedacht, ist es nun mal so, das i.d.R. eine Gewöhnung erfolgt ist, keinen Backslash einzugeben. Es ist müßig darüber zu grübeln bzw. den Nutzer zu erziehen (Don't make me think!)

Deshalb grübele ich nach einer Variante eine entsprechende Eingabe abzufangen und auf die tatsächlich gewünschte Seite weiterzuleiten
alexander
die weiße seite bekommst du weil du wahrscheinlich in den projekteinstellungen nix für die "404 Fehlerseite bei UrlRewrite=2" definiert hast.
pawel
Schön, das hatte ich tatsächlich nicht.

Wird beim 404 eigentlich nur ->Seite nicht gefunden übermittelt oder könnte man die 404 unterscheiden und spezifisch auffangen.
Olaf
Hi pawel,
kurze Recherche ergab:
QUELLTEXT
RewriteEngine On
# (2) kein Slash am Ende
RewriteCond %{REQUEST_URI} !/$
# (1) keine Dateiendung vorhanden; Redirect auf REQUEST_URI mit /
RewriteRule !\.[a-z]{2,4}$ %{REQUEST_URI}/ [R=301,L]


gefunden HIER
gunwalt
ZITAT(Olaf @ Mon. 14. August 2006, 23:22) *
Hi pawel,
kurze Recherche ergab:
QUELLTEXT
RewriteEngine On
# (2) kein Slash am Ende
RewriteCond %{REQUEST_URI} !/$
# (1) keine Dateiendung vorhanden; Redirect auf REQUEST_URI mit /
RewriteRule !\.[a-z]{2,4}$ %{REQUEST_URI}/ [R=301,L]


und das kommt in die htaccess, wenn ich richtig verstehe?
Olaf
ZITAT(gunwalt @ Tue. 15. August 2006, 08:52) *
und das kommt in die htaccess, wenn ich richtig verstehe?

Nee, wie kommst du da drauf? Such dir einen grünen Zettel, schreib es mit einem rotem Textmarker da drauf und leg den Zettel unter deinen Monitor laugh.gif

Im Ernst, logisch smile.gif
pawel
Hab es auf meinen grünen Zettel geschrieben und es funktioniert. Könnte glatt zur Standardregel werden.
pawel
Es gibt doch einen kleinen Schönheitsfleck:
Leider werden auch Links auf audio-Datei mit dem Slash ergänzt also domain/media/pawel.mp3/
was natürlich Murks ist.

Kann man das Verhindern? Bei Dateien mit absoluten Link, scheint das aber nicht so zu sein.
Olaf
Jo, logisch, weil die Regel nur auf Buchstaben prüft.
RewriteRule !\.[a-z]{2,4}$ %{REQUEST_URI}/ [R=301,L]

irgendwo hab ich das auch schon mal gesehen, find das jetzt nicht, 0-9 aufzunehmen ist auch Quatsch, dann trifft es unter Umständen zu oft, versuch mal so:
RewriteRule !\.[a-z,3]{2,4}$ %{REQUEST_URI}/ [R=301,L]
pawel
Jo funzt!.

Man Olaf, wann hast Du Dich denn zum Regexperten entwickelt. blink.gif
Olaf
Ich hab einfach hingeschrieben was ich als nächstes probiert hätte, Glück gehabt das es ein Treffer war cool.gif
tobaco
ZITAT(Olaf @ Wed. 23. August 2006, 22:23) *
Jo, logisch, weil die Regel nur auf Buchstaben prüft.
RewriteRule !\.[a-z]{2,4}$ %{REQUEST_URI}/ [R=301,L]

irgendwo hab ich das auch schon mal gesehen, find das jetzt nicht, 0-9 aufzunehmen ist auch Quatsch, dann trifft es unter Umständen zu oft, versuch mal so:
RewriteRule !\.[a-z,3]{2,4}$ %{REQUEST_URI}/ [R=301,L]


das scheint aber nicht zu funktionieren, wenn an den pfad noch variablen angehängt werden, also z.B.
QUELLTEXT
http://domain.tld/de/ordner/seite.htm?lang=2


daraus wird dann

QUELLTEXT
http://domain.tld/de/ordner/seite.htm?lang=2/


und funktioniert nicht mehr
Olaf
Interessant wäre gewesen du erwähntest ob ersteres noch damit klar kam ohmy.gif
tobaco
ZITAT(Olaf @ Fri. 25. August 2006, 06:57) *
Interessant wäre gewesen du erwähntest ob ersteres noch damit klar kam ohmy.gif


ersteres? die erste variante, die du gepostet hattest?

die hab ich gar nicht probiert.
ich hab nur die letzte variante von dir mal schnell in meine htaccess gehauen und mal kurz zu testen. ich brauch es bis jetzt nicht wirklich und wollte nur mal schnell meine beobachtung beisteuern.
Olaf
Habs mir mal durch den Kopf gehen lassen, auch wieder logisch, kann nicht gehen sad.gif

Die Regel besagt, findest du nach einem PUNKT mind. 2 aber max. 4 Zeichen die aus a-z oder 3 bestehen dann mach nen / ran. In diesem Falle hast du htm? also alles klar!?
silwue
Hallo zusammen

Ich hatte das selbe Problem, wenn ich das NewsTool im Einsatz hatte, dann gibt es Zahlen am Schluss. Mit folgenden Code konnte ich das Ganze in Gang bringen.
QUELLTEXT
Options +FollowSymLinks
RewriteEngine On

# Slash am Schluss erzwingen
RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]


Weiter erzwinge ich, dass immer www. aufgerufen wird mit:
QUELLTEXT
# www erzwingen
RewriteEngine On
RewriteCond %{HTTP_HOST} ^MeineDomain\.ch$ [NC]
RewriteRule ^(.*) http://www.MeineDomain.ch%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} ^MeineDomain\.ch$ [NC]
RewriteRule ^(.*) http://www.MeineDomain.ch/ [L,R=301]


Grüsse
Silvan
fo.x
Suuuuuuper !!!!! wink.gif
paulinsche
Spitze. Vielen Dank.
Dieses ist eine vereinfachte Darstellung unseres Foreninhaltes. Um die detaillierte Vollansicht mit Formatierung und Bildern zu betrachten, bitte hier klicken.
Invision Power Board © 2001-2024 Invision Power Services, Inc.