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

.html entfernen

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
aBanDon
PostRank 5
PostRank 5
Beiträge: 242
Registriert: 07.10.2010, 20:41

Beitrag von aBanDon » 16.05.2011, 14:52

Hallo, kennt jemand en einfachen Code für ne .htaccess datei, die bewirkt, dass z.b. aus www.hund.com/Halsband.html einfach www.hund/Halsband/ wird?

Meine .htacces bis jetzt:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.hund\.com$ [NC]
RewriteRule ^(.*)$ https://www.hund.com/$1 [R=301,L]
RewriteRule ^index\.html$ https://www.hund.com/ [R=301,L]

Bis jetzt müste ja der Duplicate Content schonmal ausgeschaltet sein ( komischerweise zeigen manchen Duplicate Content Checker immmer noch Duplicate Content bei mir an? )

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

twitch
PostRank 9
PostRank 9
Beiträge: 1222
Registriert: 09.04.2005, 14:01

Beitrag von twitch » 17.05.2011, 08:05

welche DC checker meinst du?


Vorschlag zum Testen:
RewriteRule /Halsband.html /Halsband/ [L,R=301]

SEO - History, Tools, Videos, Downloads und mehr auf https://www.seo-ranking-tools.de/

aBanDon
PostRank 5
PostRank 5
Beiträge: 242
Registriert: 07.10.2010, 20:41

Beitrag von aBanDon » 18.05.2011, 13:29

Hi, danke für deine Antwort!

Mit Mod Rewrite kenne ich mich selbst nur bedingt aus. Meinen Code hab ich mir mehr oder weniger aus Foren kopiert und für mich ergänzt :D

Desweigen weiß ich auch leider nicht was du mit DC meinst sry.

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

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 18.05.2011, 13:32

Du hattest geschrieben...
-> Duplicate Content Checker

twitch hatte geschrieben
-> DC checker

Mal nachdenken
... Duplicate Content Checker

ergibt dann.... DC Checker

Prüfung:
DC = Duplicate Content
DC Checker = Duplicate Content Checker
-> passt

Allerdings ist in der Rule ein Fehler.

Versuche mal
RewriteRule ^(.+)\.html$ /$1/ [R=301,L]

aBanDon
PostRank 5
PostRank 5
Beiträge: 242
Registriert: 07.10.2010, 20:41

Beitrag von aBanDon » 18.05.2011, 15:59

Habs deinen Code mal getestet.
Leider schlägt bei mir dann eine 404 Errorseite auf.

Aber immerhin steht in der URL-Leiste schonmal www.antike-kulturen.com/Homepage/

( Als Beispiel hatte ich eine fiktive Adresse genannt um nicht als Spam zu wirken. Die eigentliche Domain ist www.antike-kulturen.com )


Achja zu meinen "DC-Checkern":
auf www.Seitenreport.de wird kein DC gefunden.


auf https://nibbler.silktide.com/ ist DC vorhanden.
Der sagt auch aus das ich keine Feeds bzw kein Twitter und keine Verbindung zu Facebook hätte, obwohl ich diese Kriterien erfülle. Naja es ist eh fragwürdig wieweit man diesen Analysen galuben schenken darf.

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 18.05.2011, 16:14

Na die URL kannst Du schon nennen, ist dann auch einfacher. Zudem kennen wir die ja eh hier :-)

Also die Weiterleitung funktioniert also. Der 404 wird aber an was ganz anderem liegen.

Ich gehe mal davon aus, dass da ein CMS dahin steckt und die Seiten nicht alle einzeln erstellt wurden, oder?

Wenn ja, kann Dein CMS denn dann mit den neuen URLs überhaupt was anfangen?

Wenn es wirklich statisch ist und bei https://www.antike-kulturen.com/Roemer/ ... klung.html z.B. der Unterordner "Roemer" angelegt wurde und darin eine Datei Names "geschichtliche-Entwicklung.html" existiert, dann schaut es wieder anders aus.

Der Zugriff auf "https://www.antike-kulturen.com/Roemer/ ... twicklung/" wäre dann ja einer auf ein Verzeichnis und darin wird dann eine index.php oder .html gesucht. Das Verzeichnis "/geschichtliche-Entwicklung/" gibt es in dem Fall dann aber gar nicht.

Also, sind das "virtuelle" oder "echte" Pfadangaben?

Und wegen dem DC, vergesse das erst mal... Dieses nibbler meldet mir z.b.
Oops! Something went wrong...
The URL "https://www.antike-kulturen.com " is currently unavailable
Ist quatsch... Bin doch gerade drauf.

Nachtrag: Mir scheint fast so, als seien das echte Pfade und die Ordner existieren wirklich. Wenn dem so ist, dann geht Dein Vorhaben so nicht. Wie auch, die Ordner gibt es ja nicht.

Du müsstet dann z.B. etwa so herangehen.

1. Den Link in der Navi ändern von "/Roemer/geschichtliche-Entwicklung.html" nach "/Roemer/geschichtliche-Entwicklung/"

2. In der htaccess dem Apache nun beibringen, dass er, wenn irgendwas mit / am Ende angefragt wird, intern eben selbiges ohne / dafür aber mit .html aufruft.

Du würdest aktuell also genau in die falsche Richtung arbeiten. Du müsstest nicht nach / weiterleiten, sondern bei einem / intern .html abfragen. Das Weiterleiten kommt erst danach, damit die alten Files nicht mehr direkt angesprochen werden.

Oder auch möglich.... Du legst für die Dateinamen, also etwa "/Roemer/geschichtliche-Entwicklung.html" wirklich einen Ordner "/Roemer/geschichtliche-Entwicklung/" an und darin das eigentlich File als index.html.

aBanDon
PostRank 5
PostRank 5
Beiträge: 242
Registriert: 07.10.2010, 20:41

Beitrag von aBanDon » 18.05.2011, 16:40

Hast schon richtig erkannt das es sich um statische ( also selbst erstellte ) Seiten handelt. Also handelt es sich um echte Pfadangaben.

Optimale Lösung:
"Du müsstest nicht nach / weiterleiten, sondern bei einem / intern .html abfragen. Das Weiterleiten kommt erst danach, damit die alten Files nicht mehr direkt angesprochen werden."

--> Haste ne Ahnung wie ich sowas hinbekomme? Wenn es dir nicht zuviel arbeit macht, wäre mir sehr damit geholen wenn du einen funktionierenden Code posten würdest! Ansonsten bin ich auch über jeden Hinweis dankbar der mich da weiterbringt.


SuboptimaleLösung:
"Oder auch möglich.... Du legst für die Dateinamen, also etwa "/Roemer/geschichtliche-Entwicklung.html" wirklich einen Ordner "/Roemer/geschichtliche-Entwicklung/" an und darin das eigentlich File als index.html."

--> Da enorme Aufwand ( mehrere hundert Ordner zu erstellen und alle Dateien umzubennen is irgendwie.... )

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 18.05.2011, 16:44

Die Suboptimale Lösung finde ich persönlich aber die bessere. Ist halt das klassische FTP-Design... Und man muss nicht extra jede Anfrage durch die htaccess bearbeiten lassen, sondern nur die Weiterleitung, wenn einer ein altes File aufruft ;-)

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 18.05.2011, 16:48

Nachtrag, aber ungetestet...

RewriteRule ^(.+)/$ /$1.html [L]
Bedeutet: Bei irgendwas, das mindestens ein Zeichen lang ist und am Ende einen / hat, intern dieses "irgendwas" mit der Endung ".html" abfragen.

Versuch das mal und rufe dann mal https://www.antike-kulturen.com/Homepage/ auf. Sollte eigentlich in der URL https://www.antike-kulturen.com/Homepage/ anzeigen und die https://www.antike-kulturen.com/Homepage.html intern abrufen.

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 18.05.2011, 17:24

Schnelltest:

Die Stuktur ist statisch angelegt:
https://www.1nt.de/Roemer/geschichtlich ... klung.html

Ruft man die auf, dann leitet er an die Version mit / weiter.
Ruft man die dann eigentliche https://www.1nt.de/Roemer/geschichtliche-Entwicklung/ auf, dann wird intern die .html-Version angefordert.

Geht auch mit
https://www.1nt.de/Homepage/ bzw.
https://www.1nt.de/Homepage.html

die .htaccess dazu schaut bei mir so aus:

Code: Alles auswählen

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.1nt.de$ [NC]
RewriteRule ^(.*)$ http://www.1nt.de/$1 [R=301,L]
RewriteRule ^index\.html$ http://www.1nt.de/ [R=301,L]

# Internen Request umbiegen
RewriteRule ^(.+)/$ /$1.html?internal [L]

# Zugriffe auf alte Files weiterleiten
RewriteCond %{QUERY_STRING} !internal
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+)\.html$ /$1/? [R=301,L]
Den Parameter "internal" kann man nennen wie man mag, der ist von außen nicht ersichtlich, wird aber benötigt. Lässt man ihn in der Rule weg, dann gibt es mit dem internen Request und der Weiterleitung eine Endlosschleife. "%{REQUEST_FILENAME} -f " wird benötigt, damit er nur wirklich existierende Dateien weiterleitet und nicht jede "x-beliebige.html" um danach dann dennoch einen 404-Fehler zu bringen.

Bei mir geht es so, aber dennoch - Keine Garantie!

aBanDon
PostRank 5
PostRank 5
Beiträge: 242
Registriert: 07.10.2010, 20:41

Beitrag von aBanDon » 18.05.2011, 19:16

Jetzt sind wir der sache schon viel näher dran!
Einzige Problem ist das meine style.css datei nicht geladen wird!

Was die gesamte Struktur + Style übern haufen wirft.

aBanDon
PostRank 5
PostRank 5
Beiträge: 242
Registriert: 07.10.2010, 20:41

Beitrag von aBanDon » 18.05.2011, 20:34

Hmmmm der Code macht genau das was er soll. Problem ist das nur auf die .html hingewiesen wird, d.h.: Bilder, Favicon, CSS-Style.... berücksichtigt er nicht. ( Sry weiß net wie ich´s besser beschreiben soll )

Deswegen werden die Seiten falsch dargestellt.

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 19.05.2011, 07:52

Problem ist das nur auf die .html hingewiesen wird, d.h.: Bilder, Favicon, CSS-Style.... berücksichtigt er nicht. ( Sry weiß net wie ich´s besser beschreiben soll )
Das verstehe ich nun nicht wirklich. Was soll denn mit den .css und .jpg passieren? Sollen sie nicht bleiben wie bisher? Die htaccess dürfte da eigentlich nichts dran ändern, da die nur bei .html greifen sollte.

Synonym
PostRank 10
PostRank 10
Beiträge: 3708
Registriert: 09.08.2008, 02:55

Beitrag von Synonym » 19.05.2011, 07:57

Nachtrag... Problem erkannt....

Das liegt an der Verwendung von realtiven bzw. absoluten Adressierungen.

Beispiel:

Die Seite ist:
https://www.antike-kulturen.com/Homepage.html

Deine CSS Angabe (Bilder und interne Links ebenso) ist:
<link href="style.css" rel="stylesheet" type="text/css"/>

Das heißt, wenn Du die Seite aufgerufen hast, dann sucht er das CSS im gleichen Ordner, also eben im https://www.antike-kulturen.com/Homepage.html da der Rest ja ein File ist.

Änderst Du die URL nun aber in https://www.antike-kulturen.com/Homepage/ suggerierst Du zwei Ordner. Der Browser sucht das CSS-File dann also wieder im aktuellen Verzeichnis und das ist dann eben https://www.antike-kulturen.com/Homepage/.

Lösung...
Absolute Adressierungen verwenden.

Dein CSS also nicht so laden:
<link href="style.css" rel="stylesheet" type="text/css"/>

sondern so:
<link href="/style.css" rel="stylesheet" type="text/css"/>

Sprich, es wird in / gesucht, also dem Document-Root und nicht im aktuellen Verzeichnis.

Selbiges bei den Bildern:
<img src="images/Wikingerschiff.jpg"
Da würde er immer das Bild im Unterordner "images" suchen, wobei der Unterordner eben einer vom aktuellen Verzeichnis ist. Das ist aber in dem Fall falsch, denn "images" wird ja wohl ein direkter Unterordner vom Root sein. Also:
<img src="/images/Wikingerschiff.jpg"

Etwas anders beim Ordner "Bilder" etwa auf https://www.antike-kulturen.com/Grieche ... ichte.html.

Dort wird das Bild aktuelle dank "Bild/Griechische-Tempelruine-klein.JPG" aktuell hier "/Griechen/Bild/Griechische-Tempelruine-klein.JPG" gesucht. Nach dem Rewrite ist die URL aber https://www.antike-kulturen.com/Grieche ... eschichte/ und er sucht das Bild in https://www.antike-kulturen.com/Grieche ... geschichte[/b]/Bild/Griechische-Tempelruine-klein.JPG
Also auch hier das Bild nicht einbinden mit "Bild/Griechische-Tempelruine-klein.JPG", sondern mit "/Griechen/Bild/Griechische-Tempelruine-klein.JPG"

Und bei den Links eigentlich auch. Denn da beginnst Du die Struktur auch nicht im Root, sondern immer im aktuellen Verzeichnis. Kann also da auch gut sein, dass ein Link nicht funktioniert, weil nach dem Rewrite ein Ordner "zu viel" da ist.

aBanDon
PostRank 5
PostRank 5
Beiträge: 242
Registriert: 07.10.2010, 20:41

Beitrag von aBanDon » 19.05.2011, 12:11

Vielen Dank! Mit deiner Beschreibung hast du dir echt Mühe gegeben.

Klingt alles logisch und ist auch machbar ( die Suchen & Ersetzen Funktion ist mitlerweile ein wichtiger Bestandteil meiner Webmaster Utensilien geworden :D )

Werde es gleich heute Abend, nachdem ich einige Sicherungen angefertigt habe, testen.

Wenn ich das nun alles über die .htaccess laufen lassen, entsteht mir dadurch ein Nachteil? Ist es möglich das sich die Ladezeiten verschlechtern?

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag