Antworten auf deine Fragen:
Neues Thema erstellen

.htaccess redirect - reguläre Ausdrücke

Philipp88

Nicht mehr ganz neu hier

Hallo :),

ich sitze grade wieder vor ein Problem :( Per .htaccess leite ich mit redirect alte Links zu den aktuellen Links weiter.

Jetzt bin ich an einer Stellte wo ich einfach nicht weiterkomme:'(

Also der alte Link seht ungefähr so aus:
Code:
Unterseite/unterseite2/beliebigertext/view_24.html

Der neue Link sollte ungefähr so aussehen:

Code:
Unterseite/Unterseite2/beliebigertext/view.html

Kann man im Befehl "redirect" reguläre Ausdrücke schreiben? Da ja der beliebige Text immer geändert wird bzw. auch die Zahl hinter view_

Ich würd mich auf Hilfe echt freuen!

Danke im Vorraus,

Philipp :)
 

netbandit

Aktives Mitglied

AW: .htaccess redirect - reguläre Ausdrücke

Auch ein Hallo,

sollte in etwa so funktionieren:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^Unterseite/unterseite2/([a-z0-9\-_]+)/view_([0-9]+)\.html$ /Unterseite/unterseite2/$1/view.html [L, NC]
Wenn ich Dich jetzt richtig verstanden habe, bleiben die ersten beiden Verzeichnisnamen immer gleich, der darauffolgende ist variabel und der Dateiname enthält eine beliebige Zahl. Zum o.g. Beispiel, ganz salopp erklärt:

Erste Zeile ModRewrite wird aktiviert
Zweite Zeile: HauptPfad für die Umleitung/Regel
Dritte Zeile: Prüfen ob die Datei (nicht) existiert (Schleife vermeiden)
Vierte Zeile: Prüfung ->

  • Erste Verzeichnis=Unterseite
  • Zweite Verzeichnis=unterseite2
  • Dritte Verzeichnis= Suchmuster: Buchstaben|Zahlen|Minus|Unterstrich (min eines muss enthalten sein)
  • Dateiname = fängt mit view_ an, Suchmuster: Zahlen (min. eine muss enthalten sein) , endet mit .html
Auf alles was bei der Prüfung in Klammern steht, kann man zugreifen. Diese Werte stehen dann der Reihenfolge nach in Variablen (durch ein Dollarzeichen gekennzeichnet) zur Verfügung, werden quasi einfach durchnummeriert:


1 Klammer -> Suchmuster Dritte Verzeichnisname = $1
2 Klammer -> Suchmuster Zahlen im Dateinamen = $2


Grüße :)
 

Philipp88

Nicht mehr ganz neu hier

AW: .htaccess redirect - reguläre Ausdrücke

Hi,
danke für deine super Antwort:) Werde ich mal probieren.
Auch super alles erklärt, somit konnte ich auch alles gleich verstehen *Daumen hoch*
 

Philipp88

Nicht mehr ganz neu hier

AW: .htaccess redirect - reguläre Ausdrücke

Heute wollte ich nunmal den Code auf meinem Server ausprobieren. Wenn ich diese Zeile in der htaccess schreibe, kommt leider eine interne Fehlermeldung :(


Code:
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^forum/unter-forum/([a-z0-9\-_]+)/view_([0-9]+)\.html$ /forum2/unter-forum2/$1/view.html [L, NC]

Ich vergaß zu erwähnen, die "unterseite1" und "unterseite2" ändert sich auch ein bisschen, aber nicht dynamisch. Daran kann es doch nicht liegen?
 

netbandit

Aktives Mitglied

AW: .htaccess redirect - reguläre Ausdrücke

Sorry, in [L, NC] ist ein Leerschritt... das muss da raus :uhm:

Btw.: Modrewrite aktivierst Du doch auch in der htaccess, oder?

Und noch ergänzend: Mein Beispiel von oben sollte nur zeigen wie man in htaccess Suchmuster verwendet... eh jetzt noch die Frage kommt, warum Bilder, Styles etc nicht angezeigt werden: Eine permanente Weiterleitung (301er) wird benötigt. Einfach das RewriteRule wie folgt ergänzen:

RewriteRule ^forum/unter-forum/([a-z0-9\-_]+)/view_([0-9]+)\.html$ http://%{HTTP_HOST}/forum2/unter-forum2/$1/view.html [L,R=301,NC]
bzw.

RewriteRule ^forum/unter-forum/([a-z0-9\-_]+)/view_([0-9]+)\.html$ http://www.deinedomain.de/forum2/unter-forum2/$1/view.html [L,R=301,NC]

...deinedomain.de natürlich ersetzen :)
 
Zuletzt bearbeitet:

Philipp88

Nicht mehr ganz neu hier

AW: .htaccess redirect - reguläre Ausdrücke

Hallo nochmal,

Modrewite aktivieren macht man doch mit RewriteEngine On? Ja das habe ich in meiner htaccess.

Jetzt nach meiner Änderung kommt wenn ich die URL aufrufe "Seite nicht gefunden":(

Code:
RewriteRule ^zahnarzt-forum/das-zahnaerzte-implantologie-forum/([a-z0-9\-_]+)/view_([0-9]+)\.html$ /forum/zahnarzt-forum/$1/view.html [L,NC]

Ich habe mir auch gleich noch eine Regel hinzugefügt (andersrum):

Code:
Alt:
forum/view.html#3

neu soll lauten:
forum/view.html=id3

Das wollte ich mit den Code lösen:
Code:
RewriteRule /view.html#([0-9]) /view.html#id$1 [L,NC]

Geht aber auch nicht:'(

Würde mich auf Hilfe freuen :)
 

netbandit

Aktives Mitglied

AW: .htaccess redirect - reguläre Ausdrücke

Hallöchen...

stell aber auch sicher / überprüfe auch ob die URL existiert...

/forum/zahnarzt-forum/$1/view.html
$1= Was auch immer zwischen das-zahnaerzte-implantologie-forum/ und /view_ stand

Alt:
forum/view.html#3

neu soll lauten:
forum/view.html=id3
Ich glaube das macht wenig Sinn da der Browser meines Wissens nach bei einem Sprung innerhalb eines Dokumentes zu einem benannten Ankerpunkt die Seite nicht neu lädt und somit nichts beim Server / bei der htaccess ankommt. Kann mich aber auch irren. Wie dem auch sei:

RewriteRule /view.html#([0-9]) /view.html#id$1 [L,NC]
Hier berücksichtigst Du beim Rule ein Ankerpunkt und leitest wieder auf einen solchen...

forum/view.html=id3
Die view.html... ist das eine php-Datei (o.Ä.) die den Parameter id weiter verarbeiten soll? Wenn ja benötigst Du wohl eher so etwas wie:

forum/view.html?id=3
Grüße :)
 

Philipp88

Nicht mehr ganz neu hier

AW: .htaccess redirect - reguläre Ausdrücke

Hallo nochmal :)

zu 1:
Ja so eine URL ohne _[zahl] bei view wird angezeigt. Nur wenn ich bei view ein _[zahl] anhänge wird die Seite nicht gefunden:(

Zu 2:

Ja sry ich mein auch "view.html#id" bei der neuen URL und nicht "view.html=id". Ich dachte die URLs werden umgeschrieben bevor der Browser die seite aufruft oder? Wenn ja, kann ich doch auf den neuen Ankerpunkt leiten, sodass der Browser hinspringt?
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.449
Mitglieder
67.556
Neuestes Mitglied
Ggirl
Oben