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

rewrite html in php

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
rotkiv
PostRank 1
PostRank 1
Beiträge: 12
Registriert: 17.08.2007, 19:35

Beitrag von rotkiv » 24.03.2009, 22:13

hi leute
ich hoffe, ich nerve nicht mit einer trivialen frage

ich habe bis jetzt immer schöne seiten mit *.html

das neue programm produziert aber *.php

ich denke, das könnte ich mit einer rewrite rule lösen.

d.h. einfach die alten *.html auf gleichlautende *.php mit 301 umleiten.

könnt ihr mir helfen?

vielen dank

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

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.03.2009, 23:15

rotkiv hat geschrieben:das neue programm produziert aber *.php

ich denke, das könnte ich mit einer rewrite rule lösen.
Das wäre wohl die Lösung, die am schnellsten umzusetzen ist.

Du musst allerdings in jedem Falle auch das „neue Programm“ dazu bringen, .html-Endungen auszuspucken, d.h. die Ausgabe von URLs an Webbrowser korrigieren. mod_rewrite bearbeitet nur die Gegenrichtung, Anfragen von Webbrowsern.
Du solltest dir überlegen, ob du dann nicht auch gleich einmalig alle .php-Dateien in .html-Dateien umbenennst, anstatt ständig mod_rewrite alle Anfragen an .html-URLs in .php-URLs umzuwandeln. Nichtsdestotrotz:
d.h. einfach die alten *.html auf gleichlautende *.php mit 301 umleiten.
/.htaccess:

Code: Alles auswählen

RewriteEngine on
RewriteBase /
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule (.*)\.html$ $1.php
Das Muster (.*)\.html$ greift sich alle Anfragen, die auf .html enden, der Teil vor dem .html wird in einer Variablen abgelegt (wegen der runden Klammern). Anschließend prüft die RewriteCond-Zeile, ob im Verzeichnis des Hosts eine Datei mit gleichlautendem Namen, jedoch mit der Endung .php (%{DOCUMENT_ROOT}/$1.php, $1 ist der Inhalt der ersten runden Klammer im RewriteRule-Muster) existiert (-f). Ist das der Fall, wird die Anfrage durch RewriteRule auf diese Datei umgebogen ($1.php).

rotkiv
PostRank 1
PostRank 1
Beiträge: 12
Registriert: 17.08.2007, 19:35

Beitrag von rotkiv » 25.03.2009, 08:25

super,
nur eines habe ich noch nicht ganz kapiert:

die neuen seiten sind php und die urls sollen auch php bleiben
nur google hat derzeit die html im index und diese sollen auf die php umgeleitet werden sodass in ein paar monaten google die html mit php ersetzt.
ist doch dann richtig so?

dann brauche ich nur den eintrag in htaccess beachten, sonst nichts, oder?

vielen dank

Anzeige von ABAKUS

von Anzeige von ABAKUS »

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

Jetzt anfragen: 0511 / 300325-0.


rotkiv
PostRank 1
PostRank 1
Beiträge: 12
Registriert: 17.08.2007, 19:35

Beitrag von rotkiv » 25.03.2009, 10:18

ok, habe ein bisschen rumprobiert, es dürfte so gehen, aber die url in der adresszeile ändert sich nicht, bleibt bei .html - das wäre ja dann duplicate content?

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

Beitrag von Mork vom Ork » 25.03.2009, 11:49

rotkiv hat geschrieben:die neuen seiten sind php und die urls sollen auch php bleiben
nur google hat derzeit die html im index und diese sollen auf die php umgeleitet werden sodass in ein paar monaten google die html mit php ersetzt.
Achso, ich dachte, du wolltest die .html-URLs behalten, weil du von „schönen Seiten mit *.html“ sprachst.

Hänge an die RewriteRule-Zeile die Option [R=301] an, dann wird aus dem internen Umbiegen eine externe Dauer-Weiterleitung:

RewriteRule (.*)\.html$ $1.php [R=301]

rotkiv
PostRank 1
PostRank 1
Beiträge: 12
Registriert: 17.08.2007, 19:35

Beitrag von rotkiv » 25.03.2009, 15:58

klappt ja fast, jetzt macht er mir aber einen zweiten backslash nach der hauptdomain:
https://www.lindenapo.info//aktuelles/u ... /index.php
statt
https://www.lindenapo.info/aktuelles/un ... /index.php

bitte ein letztes mal um hilfe

danke

JohnBi
PostRank 10
PostRank 10
Beiträge: 2957
Registriert: 22.02.2009, 20:31

Beitrag von JohnBi » 25.03.2009, 16:00

hier das müsste dir helfen

Code: Alles auswählen

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
Probleme mit Google & Co.? Hier die Lösung! - Linktausch?! | Projekt kaufen?! |
-------------------------------------------
Der PostRank und das Anmeldedatum stehen in keinem Verhältnis zur Qualität der Antworten einiger User. {JohnBi, 2009}

rotkiv
PostRank 1
PostRank 1
Beiträge: 12
Registriert: 17.08.2007, 19:35

Beitrag von rotkiv » 25.03.2009, 16:07

jetzt haben aber alle URLs einen doppelten backslash
ich wollte ihn eigentlich weg haben

trotzdem danke

JohnBi
PostRank 10
PostRank 10
Beiträge: 2957
Registriert: 22.02.2009, 20:31

Beitrag von JohnBi » 25.03.2009, 16:08

Dann hab ich keine Ahnung, ich hab meinen doppelten Backslash damit wegbekommen der hat alle // auf / umgeleitet ...
Probleme mit Google & Co.? Hier die Lösung! - Linktausch?! | Projekt kaufen?! |
-------------------------------------------
Der PostRank und das Anmeldedatum stehen in keinem Verhältnis zur Qualität der Antworten einiger User. {JohnBi, 2009}

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

Beitrag von Mork vom Ork » 25.03.2009, 22:11

rotkiv hat geschrieben:klappt ja fast, jetzt macht er mir aber einen zweiten backslash nach der hauptdomain:
https://www.lindenapo.info//aktuelles/u ... /index.php
Pfui. Probiere dies:

RewriteRule (.*)\.html$ http://www.lindenapo.info/$1.php [R=301]

Du gibst also die komplette URL selbst vor, anstatt mod_rewrite die Domain ergänzen zu lassen. Hast du dann immernoch einen doppelten Schrägstrich, entferne einfach jenen zwischen .info und $1.

rotkiv
PostRank 1
PostRank 1
Beiträge: 12
Registriert: 17.08.2007, 19:35

Beitrag von rotkiv » 26.03.2009, 07:48

super, das wars

vielen dank

hast du eine amazon wishlist?

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag