Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Kennst sich jemand mit mod_rewrite aus? 301 Redirect...

Eingetragen von wflorian (251)
am 19.02.2009 - 21:54 Uhr in
  • Allgemeines zu Drupal
  • Drupal 5.x

Wir wollen mit Hilfe von mod_rewrite einen 301 redirect formulieren. Umgeleitet sollen mehrere tausende Nodes von

www.xyz.de/festername/verschiedene-kategorien/seitenname.html

auf

www.xyz.de/festername/db/seitenname.html

Folgenden Code habe ich bereits "anfertigen lassen":

RewriteCond %{REQUEST_URI} !^/festername/db/
RewriteRule ^festername/[^/]+/([^/]+\.html)$ festername/db/$1 [R=301,L]

der eigentlich funktionieren sollte. tut er aber nicht. ich erhalte folgenden fehler: Fehler "Umleitungsschleife: Die aufgerufene Website leitet die Anfrage so um, dass sie nie beendet werden kann."

jemand eine idee wieso er nicht funktionieren könnte?

freue mich auf eure antworten.

grüße
florian

‹ [gelöst] Sticky table headers deaktivieren Rechte und Nutzer ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Tipps

Eingetragen von OnkelSebo (6)
am 20.02.2009 - 13:10 Uhr

Ich kenne mich auch nicht gut mit mod_rewrite aus, aber bei meinen Problemen hat es geholfen die komplette URL anzugeben.

Also:
RewriteCond %{REQUEST_URI} !^/festername/db/
RewriteRule ^festername/[^/]+/([^/]+\.html)$ www.xyz.de/festername/db/$1 [R=301,L]

Außerdem verstehe ich deine RewriteRule nicht so ganz. Ich persönlich würde eher sowas probieren:
RewriteCond %{REQUEST_URI} !^/festername/db/
RewriteRule ^festername/(?:.*)/(.+)$ www.xyz.de/festername/db/$1 [R=301,L]

  • Anmelden oder Registrieren um Kommentare zu schreiben

OnkelSebo schrieb Außerdem

Eingetragen von wflorian (251)
am 20.02.2009 - 15:51 Uhr
OnkelSebo schrieb

Außerdem verstehe ich deine RewriteRule nicht so ganz. Ich persönlich würde eher sowas probieren:
RewriteCond %{REQUEST_URI} !^/festername/db/
RewriteRule ^festername/(?:.*)/(.+)$ www.xyz.de/festername/db/$1 [R=301,L]

feste domain, mache ich bereits. ich teste das ganze derzeit auf meinem localhost, ohne die angabe http://localhost/projektordner funktioniert gar nichts.

deine rewrite rule scheint allerdings nicht zu funktionieren. zwar kommt es nicht mehr zu einem umleitungsfehler, aber die umleitung funktioniert erst gar nicht, es kommt ganz einfach zu einem 404 fehler...

  • Anmelden oder Registrieren um Kommentare zu schreiben

mod_rewrite RewriteRule

Eingetragen von rainman (226)
am 20.02.2009 - 18:09 Uhr

# RewriteEngine einschalten
RewriteEngine On

#Regel
RewriteRule ^([^/]+)/festername/(.*)/(.*)\.html$  /festername/db/$3.html  [R=301,L]

Die Regel bezieht sich auf "festername". Sobald dieser Begriff auftaucht, greif die Regel. Wenn es so nicht funktioniert, dann mit URL.

  • Anmelden oder Registrieren um Kommentare zu schreiben

hallo rainman, nee beide

Eingetragen von wflorian (251)
am 20.02.2009 - 18:08 Uhr

hallo rainman,

nee beide codes funktionieren nicht... habe auch versucht modifikationen vorzunehmen, ebenfalls ergebnislos. irgendwie ist doch der wurm drin! :(

  • Anmelden oder Registrieren um Kommentare zu schreiben

RewriteRule

Eingetragen von rainman (226)
am 20.02.2009 - 19:06 Uhr

Eventuell hast du ein anderes Problem, warum diese Anweisung nicht funktioniert.

Könnte es sein, dass du lokal auf deinem Rechner XAMPP laufen hast und dort alles probierst? Wie ist dann der Apache konfiguriert? Sind alle Einstellungen richtig gesetzt?

Online funktioniert der Code, den ich dir nannte. Etwas auf deinem Rechner privat zum laufen zu bekommen, ist mit den vielen Unbekannten fast unmöglich.

Ich werde es dir trotzdem auseinander schlüsseln.

# RewriteEngine einschalten
RewriteEngine On

Dies ist wohl selbst erklärend. Wenn du dies schon in deiner .htaccess-Datei eingeschaltet hast, dann natürlich nicht noch einmal.

#Regel
RewriteRule ^([^/]+)/festername/(.*)/(.*)\.html$ /festername/db/$3.html [R=301,L]

RewriteRule ^([^/]+)/festername/(.*)/(.*)\.html$

  1. ([^/]+) wird zu $1
  2. (.*) Wenn es sich um eine RewriteRule handelt, wird die in der Gruppe (.*) gefundene Zeichenkette in der Variable "$2" gespeichert, also auch "verschiedene-kategorien".
  3. (.*) Hier gilt das gleiche, jedoch wird die in der Gruppe (.*) gefundene Zeichenkette in der Variable "$3" gespeichert, also auch "seitenname".
  4. Da deine Dateien als Endung .html haben und behalten sollen, wurde dies angefügt

/festername/db/$3.html

  1. "festername" bleibt "festername", so wie du es wolltest
  2. "verschiedene-kategorien" wird zu "db"
  3. "seitenname" wird in $3 eingefügt
  4. .html bleibt

[R=301,L]

  1. Leitet extern um. Hier 301 = permanent.
  2. Last | Bearbeitung abschliessen, keine weiteren Regeln anwenden.

Das ist genau das was du wolltest und gilt für dein angegebenes URL-Design. Sollte es so nicht zutreffen und sich weitere "Ordner" vor oder hinter "festername" befinden, so stimmen die Anweisungen natürlich nicht mehr.

Beispiel:

#Regel
RewriteRule ^([^/]+)/projekt/festername/(.*)/(.*)\.html$ /projekt/festername/db/$3.html [R=301,L]

  • Anmelden oder Registrieren um Kommentare zu schreiben

danke für deine

Eingetragen von wflorian (251)
am 20.02.2009 - 20:15 Uhr

danke für deine hinweisstellung.

allerdings konnte ich den ersten code jetzt doch funktionsfähig machen. es musste lediglich eine kleine änderung für die localhost umgebung gemacht werden, jetzt funktioniert alles!

danke euch!! ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 4 Tagen
  • Hey danke
    vor 2 Wochen 5 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 5 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 3 Wochen 3 Tagen
  • Kannst doch auch alles direkt
    vor 4 Wochen 14 Stunden
  • In der entsprechenden View
    vor 4 Wochen 14 Stunden
  • Dazu müsstest Du vermutlich
    vor 4 Wochen 14 Stunden
  • gelöst
    vor 6 Wochen 4 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20458

Neue User:

  • Znogsnernoimb
  • ByteScrapers
  • Mroppoofpaync

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 15 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association