|
|
aBanDon

: 07.10.2010 : 232
|
| : 16.05.2011, 15:52 : .html entfernen |
|
|
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 ^(.*)$ http://www.hund.com/$1 [R=301,L]
RewriteRule ^index\.html$ http://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? ) |
|
| Nach oben |
|
 |
twitch

: 09.04.2005 : 1222
|
| : 17.05.2011, 09:05 : .html entfernen |
|
|
welche DC checker meinst du?
Vorschlag zum Testen:
RewriteRule /Halsband.html /Halsband/ [L,R=301]
SEO - History, Tools, Videos, Downloads und mehr auf http://www.seo-ranking-tools.de/ |
|
| Nach oben |
|
 |
aBanDon

: 07.10.2010 : 232
|
| : 18.05.2011, 14:29 : .html entfernen |
|
|
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
Desweigen weiß ich auch leider nicht was du mit DC meinst sry. |
|
| Nach oben |
|
 |
Synonym

: 09.08.2008 : 3496 : Würzburg
|
| : 18.05.2011, 14:32 : .html entfernen |
|
|
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] |
|
|
| Nach oben |
|
 |
aBanDon

: 07.10.2010 : 232
|
| : 18.05.2011, 16:59 : .html entfernen |
|
|
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 http://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. |
|
| Nach oben |
|
 |
Synonym

: 09.08.2008 : 3496 : Würzburg
|
| : 18.05.2011, 17:14 : .html entfernen |
|
|
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 http://www.antike-kulturen.com/Roemer/geschichtliche-Entwicklung.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 "http://www.antike-kulturen.com/Roemer/geschichtliche-Entwicklung/" 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 "http://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. |
|
| Nach oben |
|
 |
aBanDon

: 07.10.2010 : 232
|
| : 18.05.2011, 17:40 : .html entfernen |
|
|
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.... ) |
|
| Nach oben |
|
 |
Synonym

: 09.08.2008 : 3496 : Würzburg
|
| : 18.05.2011, 17:44 : .html entfernen |
|
|
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  |
|
| Nach oben |
|
 |
Synonym

: 09.08.2008 : 3496 : Würzburg
|
|
| Nach oben |
|
 |
Synonym

: 09.08.2008 : 3496 : Würzburg
|
| : 18.05.2011, 18:24 : .html entfernen |
|
|
Schnelltest:
Die Stuktur ist statisch angelegt:
http://www.1nt.de/Roemer/geschichtliche-Entwicklung.html
Ruft man die auf, dann leitet er an die Version mit / weiter.
Ruft man die dann eigentliche http://www.1nt.de/Roemer/geschichtliche-Entwicklung/ auf, dann wird intern die .html-Version angefordert.
Geht auch mit
http://www.1nt.de/Homepage/ bzw.
http://www.1nt.de/Homepage.html
die .htaccess dazu schaut bei mir so aus:
| Code: |
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! |
|
| Nach oben |
|
 |
aBanDon

: 07.10.2010 : 232
|
| : 18.05.2011, 20:16 : .html entfernen |
|
|
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. |
|
| Nach oben |
|
 |
aBanDon

: 07.10.2010 : 232
|
| : 18.05.2011, 21:34 : .html entfernen |
|
|
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. |
|
| Nach oben |
|
 |
Synonym

: 09.08.2008 : 3496 : Würzburg
|
| : 19.05.2011, 08:52 : .html entfernen |
|
|
| : |
| 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. |
|
| Nach oben |
|
 |
Synonym

: 09.08.2008 : 3496 : Würzburg
|
| : 19.05.2011, 08:57 : .html entfernen |
|
|
Nachtrag... Problem erkannt....
Das liegt an der Verwendung von realtiven bzw. absoluten Adressierungen.
Beispiel:
Die Seite ist:
http://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 http://www.antike-kulturen.com/Homepage.html da der Rest ja ein File ist.
Änderst Du die URL nun aber in http://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 http://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 http://www.antike-kulturen.com/Griechen/Entstehungsgeschichte.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 http://www.antike-kulturen.com/Griechen/Entstehungsgeschichte/ und er sucht das Bild in http://www.antike-kulturen.com/Griechen/Entstehungsgeschichte/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. |
|
| Nach oben |
|
 |
aBanDon

: 07.10.2010 : 232
|
| : 19.05.2011, 13:11 : .html entfernen |
|
|
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 )
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? |
|
| Nach oben |
|
 |