Seite 1 von 1

301 von html auf /

Verfasst: 08.08.2007, 08:01
von marc77
Hallo,

ich musste auf einem php Projekt von mir die bereits indexierten Unterseiten welche auf *.html enden in / umschreiben.

Beispiel: https://www.tld.de/test/test.html

wird zu

https://www,tld.de/test/test/

Die URLs sind aber bereits alle in *.html indexiert. Wie kann ich per 301 in der httacess dem spider bzw. dem php sagen, dass wenn *.html mache einen slash draus /

??

Danke für Hilfe!

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 08.08.2007, 08:10
von matin
versuch mal:

Code: Alles auswählen

RewriteEngine On
RewriteRule ^test/([^.]+)/$ $1.html?rw=1 [QSA,L]
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^([^.]+)\.html$ /test/$1/ [R=301,L]

Verfasst: 08.08.2007, 08:24
von marc77
wow, das ging ja schnell und es funktioniert :)

da es noch andere ordner gibt als nur "test" hab ich es so abgeändert

RewriteRule ^test/([^.]+)/$ $1.html?rw=1 [QSA,L]
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^([^.]+)\.html$ /$1/ [R=301,L]

beim ersten test hab ich den Namen der Domain eingetragen und in der letzte Zeile hab ich es entfernt weil er mir nicht nur das html weg machte sondern auch den Ordner Test eingefügt hat und es gibt ja wie gesagt viel mehr ordner... war das von mir korrekt?

Verfasst: 08.08.2007, 08:31
von matin
sorry, hab's leider nicht verstanden ... wie oder wo wird der name des ordners "test" oder "test2" festgelegt?

Verfasst: 08.08.2007, 08:48
von marc77
es gibt die Domain www.tld.de

auf dieser domain gibt es verschiedene Unterkategorien z.b.

www.tld.de/test/blablabla.html

www.tld.de/test1/blablabla.html

www.tld.de/test2/blablabla.html

usw.

diese sind mit html indexiert und ich wollte, das aus

www.tld.de/test/blablabla.html

www.tld.de/test/blablabla/

wird.

Das funktioniert auch jetzt soweit! Dazu hab ich es so geändert

RewriteRule ^tld/([^.]+)/$ $1.html?rw=1 [QSA,L]
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^([^.]+)\.html$ /$1/ [R=301,L]

richtig?

jetzt hab ich nur ein Problem, seiten auf erster Ebene, welche. z.b. so aussehen:

www.tld.de/blablalba.html werden natürlich auch umgeschrieben. gibt es eine Möglichkeit nur die Endungen im Verzeichnis umzuschreiben oder müsste ich hierzu jeden einzelnen pfad definieren?

Verfasst: 08.08.2007, 10:12
von matin
am besten kopiertst du die rewrite rule in die ordner, die umgeschrieben werden sollen (nehme an, dass deine seiten statische html seiten sind und du kein cms verwendest, richtig?). dann werden nur die dateien im jeweiligen ordner umgeschrieben.

die rewritebase musst du anpassen:

Code: Alles auswählen

RewriteEngine On
RewriteBase /test
RewriteRule ^([^.]+)/$ $1.html?rw=1 [QSA,L]
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^([^.]+)\.html$ /$1/ [R=301,L]
in den zweiten unterordner folgendes

Code: Alles auswählen

RewriteEngine On
RewriteBase /test2
RewriteRule ^([^.]+)/$ $1.html?rw=1 [QSA,L]
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^([^.]+)\.html$ /$1/ [R=301,L]

Verfasst: 08.08.2007, 10:14
von matin
vielleicht funktioniert es auch global mit:

Code: Alles auswählen

RewriteEngine On
RewriteRule ^(.*)/([^.]+)/$ $1.html?rw=1 [QSA,L]
RewriteCond %{QUERY_STRING} !^rw=1
RewriteRule ^([^.]+)\.html$ /(.*)/$1/ [R=301,L]