Antwort
 
Themen-Optionen Thema durchsuchen
Alt 31.08.2007, 10:58 Nach oben    #1
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.214
Standard [mod_rewrite] Verzeichnis umleiten

Ich habe ein Problem bei der Erstellung einer bestimmten mod_rewrite-Regel.

Ich möchte gerne folgendes machen

www.domain.tld/sub/dir
und
www.domain.tld/sub/dir/

soll weitergeleitet werden auf
www.domain.tld/anderes/subdir

dir Regel mit / am Ende funktioniert, die ohne / jedoch nicht...

Code:
# Aufrufe auf domain.tld/sub/dir werden auf das neue Forum weitergeleitet
RewriteCond %{REQUEST_URI} /sub/dir[/]$
RewriteRule (.*) /anderes/subdir/ [L,R=301]
Hat jemand eine Idee, wie ich das lösen kann, dass der andere Fall auch mit abgedeckt wird?
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.08.2007, 14:34 Nach oben    #2
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.480
Standard

Ich hab auch immer wieder die Probleme mit dem abschließenden / ... ich hänge also mal die Frage an: Gibt es da einen allgemeinen Tipp/Trick zu?
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.08.2007, 17:50 Nach oben    #3
Johannes Müller
 
Benutzerbild von $traight-$hoota
 
Registriert seit: 15.09.2005
Ort: Königreich Flieden
Beiträge: 522
Standard

Zitat:
Zitat von Jann Hendrik Beitrag anzeigen
Code:
# Aufrufe auf domain.tld/sub/dir werden auf das neue Forum weitergeleitet
RewriteCond %{REQUEST_URI} /sub/dir[/]$
RewriteRule (.*) /anderes/subdir/ [L,R=301]
müsste das nicht /sub/dir/?$ oder so heißen? Weil nach deiner Regel akzeptiert der Regex ja nur Strings, deren letztes Zeichen zwischen den eckigen Klammern steht - also ein Slash.
alternative zu dem problem "mit slash oder ohne" wäre es, generell an jeden URL ohne slash am ende einen dranzuhängen bzw. umgekehrt.
Code:
RewriteRule (.*)/$ $1
#oder
 RewriteRule (.*)[^/]$ $1/
__________________
Weißt Bescheid - Scheiß wie weit
$traight-$hoota ist gerade online  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 31.08.2007, 19:18 Nach oben    #4
Jonas
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 240
Standard

Mit /?$ am Ende muss das funktionieren. Solltest dir eventuell nochmal RegEx genauer angucken, denn das was du da gemacht hast ergibt keinen Sinn.

Dass ist so, also wenn ich das Pattern Affe so [A][f][f][e] schreibe. Nur mal als Beispiel.

Denn [] matcht immer ein Zeichen, welches in den Klammern steht. Ist das nur eins kann man sich die Klammern sparen.
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

Webentwicklung:
PHP, (X)HTML, CSS, JavaScript, MySQL


Artemis ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.09.2007, 14:56 Nach oben    #5
Jann Hendrik Bekaan
 
Benutzerbild von Jann Hendrik
 
Registriert seit: 02.12.2004
Ort: Wildeshausen
Beiträge: 2.214
Standard

Zitat:
Zitat von Artemis Beitrag anzeigen
denn das was du da gemacht hast ergibt keinen Sinn.
Naja, ganz sinnlos war das auch nicht. Immerhin die Hälfte hat funktioniert.

Das hier:
Zitat:
Zitat von Artemis Beitrag anzeigen
Mit /?$ am Ende muss das funktionieren.
funktioniert genau so, wie ich mir das vorgestellt hatte.

Doch ... nun kommt die Frage: warum?

Ich würde deine Regel so verstehen, dass das / am Ende definitiv vorkommen muss, aber die Praxis sagt mir ja klar, dass das funktioniert...
Kannst du mir das näher erklären?

Danke!
Jann Hendrik ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 01.09.2007, 16:10 Nach oben    #6
Jonas
 
Benutzerbild von Artemis
 
Registriert seit: 03.06.2006
Beiträge: 240
Standard

Ein Quantifier ?, *, + und Angaben wie {5}, {2,}, ...
Beziehen sich immer auf das was vor ihnen steht.

Das heißt bei Hallo? kann das o einmal oder keinmal vorkommen. Bei Sei(d|f)?e Kann der ganze Ausdruck (d|f) ein- oder keinmal vorkommen.

Zitat:
Zitat von Jann Hendrik
Naja, ganz sinnlos war das auch nicht. Immerhin die Hälfte hat funktioniert.
Klar, jedoch ist das ohne jetzt auf den Context zu schauen vom RegEx her Schwachsinn. Siehe dazu mein Beispiel im letzten Post.
__________________
Applikations-Programmierung:
BlitzMax, BlitzPlus

Webentwicklung:
PHP, (X)HTML, CSS, JavaScript, MySQL



Geändert von Artemis (01.09.2007 um 16:13 Uhr).
Artemis ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Verzeichnisse aus Eclipse-Projekt herausnehmen, im Verzeichnis sollen sie existieren Ben Eclipse 6 30.08.2007 14:36
mod_rewrite - RewriteRegel um Dateien in Verzeichnis zu simulieren Ben Tools, Server, Betriebssysteme 4 20.06.2007 17:16
Fiese SQL-Abrage Sayang Datenbanken 15 15.08.2006 19:38
[PHP] FTP-Funktionen in PHP nutzen MrNiceGuy Tutorials 0 24.05.2006 14:18
datei in verzeichnis speichern los_flammos Allgemeine Java-Programmierung 1 13.04.2005 19:21


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:49 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44