Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Problem mit mod_rewrite

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Neues Thema Antworten
lorenzolamas
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 24.02.2010, 12:13

Beitrag von lorenzolamas » 24.02.2010, 12:24

Hallo,

ich habe mich in den letzten tagen viel mit mod-rewrite beschäftigt und durch die Suche, hier oder bei google, schon einige brauchbare Lösungen gefunden, die ich auch erfoglreich umsetzen konnte.

Doch hier hakt es:

RewriteBase /
RewriteRule artikel/news\.html$ index.php?page=856&ab=1

Hier kann ich den Artikel mit dem neuen Link

www.domain.de/artikel/news.html

erfolgreich aufrufen, doch wollen jetzt auch alle anderen Links auf dem Server den Ordner "artikel" mit aufrufen und das zerschießt die Seite

Wo ist der Fehler?

Ich hoffe, es kann mir jemand helfen....

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 24.02.2010, 12:55

lorenzolamas hat geschrieben:RewriteRule artikel/news\.html$ index.php?page=856&ab=1

Hier kann ich den Artikel mit dem neuen Link

www.domain.de/artikel/news.html

erfolgreich aufrufen, doch wollen jetzt auch alle anderen Links auf dem Server den Ordner "artikel" mit aufrufen und das zerschießt die Seite

Wo ist der Fehler?
Mit mod_rewrite hat das nichts zu tun, das gehört in die Abteilung HTML. Relative URLs in einer Seite beziehen sich immer auf die Basis-URL, das ist die URL der Seite, die wiederum die betreffenden URLs enthält.

Die URL deiner Seite ist www.domain.de/artikel/news.html, für ein <img src="bild.png"> würde der Browser dementsprechend die Basis www.domain.de/artikel/ plus der relativen URL bild.png aufrufen: www.domain.de/artikel/bild.png.

Abhilfe: Korrigiere die URLs in deiner Seite. URLs relativ zum Wurzelverzeichnis, d.h. solche, die mit einem Schrägstrich beginnen, bieten sich an.

lorenzolamas
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 24.02.2010, 12:13

Beitrag von lorenzolamas » 24.02.2010, 13:19

Sorry, aber dass versteh ich nicht so ganz. Ich dachte das man einen Ordner über mod_rewrite auch simulieren kann. Im dem Fall "artikel".

lass ich den "Ordner" artikel weg und mache es so:

RewriteRule news\.html$ index.php?page=856&ab=1

funktioniert es ja....

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

Anonymous

Beitrag von Anonymous » 24.02.2010, 14:03

mod_rewrite ist nur die halbe miete... es wird nur beim Aufruf einer URL abgearbeitet... wenn jetzt die Links auf der Seite jetzt alle den Ordner /artikel/ mitaufrufen sind die Links auf der Site falsch, da diese alle in den Ordner Artikel verlinken...

wahrscheinlich ist es so wie MvO gesagt hat, das du alles relativ verlinkt hast, also z.B. so:

<a href="seite_a.html"> und wenn dieser dann auf der newsseite angezeigt wird, die ja in der Url den Ordner Artikel enthält, wird die seite_a.html ebenauch in dem Ordner Artikel gesucht... ebenso Bilder etc die nur relativ angegeben wurden...

wenn du mit mod_rewrite arbeitest solltest du immer mit absoluten Links arbeiten, also z.B. <a href="/seite_a.html"> dann ist egal in welchem Ordner die Seite liegt auf der dieser Link erscheint, die seite_a wird immer im stammverzeichnis gesucht...

lorenzolamas
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 24.02.2010, 12:13

Beitrag von lorenzolamas » 24.02.2010, 15:07

Danke für die Antworten.

Im Klartext heißt dass nun , dass ichmein script so auslegen muss, dass es nicht "index.php?wasauchimmer" heißt, sondern /index.php?wasauchimmer"

Anonymous

Beitrag von Anonymous » 24.02.2010, 15:11

lorenzolamas hat geschrieben:Danke für die Antworten.

Im Klartext heißt dass nun , dass ichmein script so auslegen muss, dass es nicht "index.php?wasauchimmer" heißt, sondern /index.php?wasauchimmer"
jein...

wenn die URLs nicht umgeschrieben werden sollen isses so richtig...

wenn sie umgeschrieben werden sollen, muss dein script natürlich die neuen URLs verlinken...

aber immer ein / am Anfang stimmt schon.... wenn du auch immer direkt mit der domain verlinkst, also z.B. <a href="https://domain.tld/seite_a.html">, machst du es dummen contentdieben etwas schwerer, da diese dann ja die Links auch so mitübernehmen würden... ;-)

lorenzolamas
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 24.02.2010, 12:13

Beitrag von lorenzolamas » 24.02.2010, 15:51

Also wenn ich es so mache

RewriteRule artikel/news\.html$ https://www.domain.de/index.php?page=856&ab=1

kann ich diesen Link www.domain.de/artikel/news.html korrekt aufrufen. Allerdinsg wird im Browser der alte Link www.domain.de/index.php?page=856&ab=1 ausgegeben

Anonymous

Beitrag von Anonymous » 24.02.2010, 15:55

dann stimmt da etwas nicht....

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 24.02.2010, 16:47

lorenzolamas hat geschrieben:Sorry, aber dass versteh ich nicht so ganz. Ich dachte das man einen Ordner über mod_rewrite auch simulieren kann.
Der Browser weiß nichts von mod_rewrite, mod_rewrite ist eine rein serverinterne Angelegenheit. Der Browser sieht nur den HTML-Code, die URL des Codes (mit dem simulierten Ordner) und die URLs, die im Code drinstecken (und sich auf den simulierten Ordner beziehen), und damit arbeitet er wie beschrieben.
Allerdinsg wird im Browser der alte Link www.domain.de/index.php?page=856&ab=1 ausgegeben
Wo, in der Adressleiste? Woher "wissen" denn &#8222;alle anderen Links auf dem Server [, dass sie] den Ordner "artikel" mit aufrufen&#8220; sollen, wenn der Ordner im Browser gar nicht erscheint? Oder stehen im HTML-Code lauter artikel/-Verweise, die da nicht hingehören?

Nenne doch mal bitte die tatsächliche URL und was du alles in deiner .htaccess stehen hast. Im Moment passt deine Beschreibung hinten und vorne nicht.

lorenzolamas
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 24.02.2010, 12:13

Beitrag von lorenzolamas » 24.02.2010, 20:14

Ich versuchs mal. Der eigentliche linkt wird so aufgerufen

index.php?page=856&ab=1 (dynamisch)

Ich möchte ihn aber in www.domain.de/artikel/news.html rewriten.

RewriteEngine on
RewriteRule artikel/news\.html$ index.php?page=856&ab=1

Der Befehl in .htaccess hat alle anderen Links dazu aufgefordert den ordner "artikel" zu wollen, den es ja eigentlich nicht gibt und damit die Seite zerschossen.

Nun hatte ich es so probiert

RewriteEngine on
RewriteRule artikel/news\.html$ https://www.domain.de/index.php?page=856&ab=1

ruf ich jetzt www.domain.de/artikel/news.html auf wird die Seite korrekt angezeigt im Browser (Adressleiste) aber nach wie vor der "alte" link ausgebeben, sprich: https://www.domain.de/index.php?page=856&ab=1

Anonymous

Beitrag von Anonymous » 24.02.2010, 20:26

wie gesagt... mod_rewrite ist nur die halbe Miete... biegt nur beim Aufruf um... bei der Ausgabe, also im Quelltext, musst du die Links anders ändern, das macht mod_rewrite nicht...

Ralle NL
PostRank 1
PostRank 1
Beiträge: 15
Registriert: 14.10.2009, 11:58
Wohnort: Mierlo/NL

Beitrag von Ralle NL » 26.02.2010, 12:19

Moin moin,
irgendwie versteh ich dich nicht,willst Du nur die eine Seite so ausgeben lassen oder alle ?

denn für Alle sollte es doch so aussehen

RewriteRule ^([0-9]*)-([0-9]*)- index.php?article_id=$1&clang=$2&%{QUERY_STRING}
RewriteRule ^([0-9]*)- index.php?article_id=$1&%{QUERY_STRING}

oder lieg ich da jetzt Gedanklich falsch
Bautips gibt es wie immer auf https://www.bau-im-netz.de

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag