Zum Inhalt springen
Thread.htaccess

Hilfe Apache 1und1 und Strato: Duplicate Content 404 Seiten erstellen

Kategorie
.htaccess
Antworten
23
Erstellt von: gelöschter Benutzer Datum: 12.04.2015, 20:23 Uhr
Archiv-KommentarArchiviert, nicht priorisiertCanonical & Duplicate Content

Redaktionelle Einordnung

Diese archivierte Diskussion behandelt Hilfe Apache 1und1 und Strato: Duplicate Content 404 Seiten erstellen aus Sicht der Rubrik .htaccess.

Canonical, Duplicate Content und saubere URL-Signale sind heute meist wichtiger als einzelne historische Tool-Empfehlungen im Thread.

Sinnvoll nutzbar bleibt der Thread vor allem als historischer Kontext, für typische Fragestellungen und zur Einordnung älterer Empfehlungen.

Einige im historischen Thread genannte Tools, Dienste oder externe Links könnten heute nicht mehr verfügbar oder inhaltlich überholt sein. Nutzen Sie sie bitte nur mit zusätzlicher Prüfung.

Startbeitrag

Originaler Foreninhalt in modernisierter Darstellung.

Zur Kategorie
gelöschter Benutzer
Threadstart · .htaccess 6685 mal gelesen · 12.04.2015, 20:23 Uhr

Duplicate Content der index.html und index.php ohne Umleitung geht es nicht.

Selbst der Seitenreport hat Duplicate Content mit webseite.index.php

Meine.htaccess Alles mit Umleitung!!!

# RewriteEngine on
# RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.bastel-pifti.de$ [NC]

RewriteRule ^(.*)$ www.bastel-pifti.de/$1 [R=301,L]


RewriteCond %{REQUEST_URI} ^/index\.html$
RewriteRule ^(.*)$ / [L,R=301]

DirectoryIndex index.php

<IfModule mod_rewrite.c>

SetEnv HTTP_MOD_REWRITE On

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} !^/media/
RewriteCond %{REQUEST_URI} !^/extAdmin/
RewriteCond %{REQUEST_URI} !^/skin/
RewriteCond %{REQUEST_URI} !^/js/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l


RewriteRule .* index.php
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 2692000 seconds"
ExpiresByType image/jpeg "access plus 2692000 seconds"
ExpiresByType image/png "access plus 2692000 seconds"
ExpiresByType image/gif "access plus 2692000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2692000 seconds"
ExpiresByType text/css "access plus 2692000 seconds"
ExpiresByType text/javascript "access plus 2692000 seconds"
ExpiresByType application/x-javascript "access plus 2692000 seconds"
</IfModule>
<IfModule mod_headers.c>
<FilesMatch "\\.(ico|jpe?g|png|gif|swf|css|js)$">
Header set Cache-Control "max-age=2692000, public"
</FilesMatch>
Header unset ETag
Header unset Last-Modified
</IfModule>

Meine Fehler Seite:

<?xml version="1.0" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Fehler</title>
</head>
<body>

Ups, die von Ihnen angeforderte Seite existiert nicht (mehr).


Zur Startseite


</body>
</html>

Suche nach einer Lösung ohne Umleitung und eher nach 404.Seiten die klare Strukur für Googel und Software schaffen. Umleitungen Lösen das Problem nicht: Google erkennt nur 404 Seite und Software auch keine Umleitungen...

Hat jemand eine Lösung: webseite/index.html, webseite/index.php und alle Unterverzeichnisse php mit einer 404 Lösung auszuschließen. z.B wie bei otto.de

Danke Mattias Dallmann



Antworten

10 Beiträge
matthes
Foren Moderator · Evil Genius · Content Halbgott (973 Beiträge) · 12.04.2015, 20:38 Uhr
Antwort

Ich weiß nicht, ob ich Dich ganz richtig verstehe...

Dein Problem ist, dass Du über die Rewrite-Anweisungen mitteilst, dass alles, was nicht als Ordner, Datei oder Link existiert, an die index.php übergeben werden soll und diese leider nicht damit klar kommt, nur für eine Variante die Startseite auszugeben.
Die index.php bekommt also die ganzen Aufrufe und entscheidet dann, ob eine Seite angezeigt werden soll oder ob eine Fehlermeldung ausgegeben wird. Und für jede index.*-Anfrage zeigt sie die Startseite an.

Da müsste der xtc4 aber Abhilfe schaffen können. Das hat mit Apache, 1und1 und Strato nichts zu tun.


Make Seitenreport great again!
gelöschter Benutzer · 12.04.2015, 20:49 Uhr
Antwort

Nutze eine Apache und die Lösung ist das keiner Helfen kann.

Meine Webseite hat 5.800 Seiten indexiert bei Google. Seitenreport sagt Duplicate Content wegen index.html und index.php ist oben Umgeleitet. Google besagt das die Seiten die mit 404 zurückgegeben werden als Fehlerseiten erkannt und nicht indexiert.

matthes
Foren Moderator · Evil Genius · Content Halbgott (973 Beiträge) · 12.04.2015, 21:51 Uhr
Antwort

Diese Regel ist doch schon fast korrekt:

mdallmann schrieb:
RewriteCond %{REQUEST_URI} ^/index\\.html$
RewriteRule ^(.*)$ / [L,R=301]


Sie besagt: Ist die Request-URI /index.html, leite alles auf / um.
Hier sind Klammern und Markierung von String-Anfang und -Ende unnötig, aber die Regel stimmt so. Sie funktioniert auch, wie Du selbst ausprobieren kannst.
Wenn Du das noch für die anderen index-Probleme anwendest, hast Du Deine Lösung. Ich bin so frei und mache das mal:

Matthes schrieb:
RewriteCond %{REQUEST_URI} ^/index\\.?(html|php)?$
RewriteRule .* / [L,R=301]


Damit sollte der DC für die Startseite aus der Welt geschafft sein.


Make Seitenreport great again!
gelöschter Benutzer · 12.04.2015, 22:43 Uhr
Antwort

Matthes schrieb:

Diese Regel ist doch schon fast korrekt:

mdallmann schrieb:
RewriteCond %{REQUEST_URI} ^/index\\.html$
RewriteRule ^(.*)$ / [L,R=301]


Sie besagt: Ist die Request-URI /index.html, leite alles auf / um.
Hier sind Klammern und Markierung von String-Anfang und -Ende unnötig, aber die Regel stimmt so. Sie funktioniert auch, wie Du selbst ausprobieren kannst.
Wenn Du das noch für die anderen index-Probleme anwendest, hast Du Deine Lösung. Ich bin so frei und mache das mal:

Matthes schrieb:
RewriteCond %{REQUEST_URI} ^/index\\.?(html|php)?$
RewriteRule .* / [L,R=301]


Damit sollte der DC für die Startseite aus der Welt geschafft sein.



Nein: Die Methode macht alle html Seiten unerreichbar. Siehe und Webseite klicken und Unterseite auswählen. Werden nicht geöffnet..

gelöschter Benutzer · 12.04.2015, 22:51 Uhr
Antwort

Auslagerung durch 404.html und nicht Umleitung. Das ist Morgen nicht mehr der Fall... Denn habe schon eine Lösung die wieder viel Geld kostet...

matthes
Foren Moderator · Evil Genius · Content Halbgott (973 Beiträge) · 12.04.2015, 22:51 Uhr
Antwort

mdallmann schrieb:
Nein: Die Methode macht alle html Seiten unerreichbar. Siehe und Webseite klicken und Unterseite auswählen. Werden nicht geöffnet..


Genaugenommen ist das DC-Problem damit aus der Welt geschafft. *g*

Allerdings sollte es so funktionieren, kannst Du die aktuelle htaccess dann noch einmal posten, bitte?


Make Seitenreport great again!
gelöschter Benutzer · 12.04.2015, 22:53 Uhr
Antwort

# RewriteEngine on
# RewriteRule !\\.(js|ico|gif|jpg|png|css)$ index.php

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.bastel-pifti.de$ [NC]

RewriteRule ^(.*)$ www.bastel-pifti.de/$1 [R=301,L]


RewriteCond %{REQUEST_URI} ^/index\\.?(html|php)?$
RewriteRule .* / [L,R=301]

DirectoryIndex index.php

<IfModule mod_rewrite.c>

SetEnv HTTP_MOD_REWRITE On

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} !^/media/
RewriteCond %{REQUEST_URI} !^/extAdmin/
RewriteCond %{REQUEST_URI} !^/skin/
RewriteCond %{REQUEST_URI} !^/js/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l


RewriteRule .* index.php
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 2692000 seconds"
ExpiresByType image/jpeg "access plus 2692000 seconds"
ExpiresByType image/png "access plus 2692000 seconds"
ExpiresByType image/gif "access plus 2692000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 2692000 seconds"
ExpiresByType text/css "access plus 2692000 seconds"
ExpiresByType text/javascript "access plus 2692000 seconds"
ExpiresByType application/x-javascript "access plus 2692000 seconds"
</IfModule>
matthes
Foren Moderator · Evil Genius · Content Halbgott (973 Beiträge) · 12.04.2015, 22:59 Uhr
Antwort

Hm. Müsste so aber eigentlich funktionieren, der reguläre Ausdruck ist korrekt.

Dann versuche es ausführlich, indem Du alle Möglichkeiten auflistest:

[html]RewriteCond %{REQUEST_URI} ^/index$ [OR]
RewriteCond %{REQUEST_URI} ^/index\\.$ [OR]
RewriteCond %{REQUEST_URI} ^/index\\.html$ [OR]
RewriteCond %{REQUEST_URI} ^/index\\.php$ [OR]
RewriteCond %{REQUEST_URI} ^/index\\.htm$ [OR]

RewriteRule .* www.bastel-pifti.de [L,R=301][/html]



Schau mal, ob es so funktioniert.
Make Seitenreport great again!
gelöschter Benutzer · 12.04.2015, 23:31 Uhr
Antwort

Umleitungsfehler ist dann die Antwort? Sagen wir ohne Wurst ist alles besser und einfacher.

matthes
Foren Moderator · Evil Genius · Content Halbgott (973 Beiträge) · 13.04.2015, 11:22 Uhr
Antwort

[html]RewriteCond %{REQUEST_URI} ^/index$ [OR]
RewriteCond %{REQUEST_URI} ^/index\\.$ [OR]
RewriteCond %{REQUEST_URI} ^/index\\.html$ [OR]
RewriteCond %{REQUEST_URI} ^/index\\.php$ [OR]
RewriteCond %{REQUEST_URI} ^/index\\.htm$

RewriteRule .* www.bastel-pifti.de [L,R=301][/html]


Das letzte [OR] war falsch, da habe ich mich vertippt.

Deine Einstellung nervt irgendwie. Ich werde mich mit Hilfe jedenfalls nicht weiter aufdrängen, wenn Du lieber Geld ausgibst, ist das Deine Sache.
Make Seitenreport great again!