URL umleiten

Jammy

New Member
Hallo,

In meinem Newsscript würde ich gerne alle URL umschreiben.

von *.php auf *.html

Ich habe nun etliche Foren durchstöbert aber nicht so wirklich eine Lösung gefunden.

Unzwar suche ich nach einer möglichkeit, am besten per htaccess die URL direkt von *php auf *htm ändern zu lassen.

Normal währe ja

HTML:
RewriteEngine on 
RewriteRule ^(.*).htm$ $1.php

Problem ist ja bekanntlich das es nicht direkt die URL umwandelt sondern man lediglich auf seite.htm aufrufen kann.
Nun suche ich nach einer möglichkeit die mich direkt von *php auf *htm leitet OHNE die HTM oder PHP Files umzuschreiben.

Ist dies überhaupt möglich?
 
Ein Rewrite macht eine Datei auch unter einem anderen Namen erreichbar - wenn du allerdings hinterher auch den anderen Namen in der Adresszeile des Browsers haben willst, dann solltest du mit einem Redirect arbeiten.
 
Hallo,

Nein das führte auch nicht zum gewünschten ergebniss

Code:
RedirectMatch 301 (.*)\.htm$ $1.php

Wenn ich bsp weiterhin index.php, news.php etc aufrufe ändert sich die endung im Browser leider nicht automatisch auf *.htm
 
Da leitest ja jetzt auch HTM-Dateien auf die PHP-Dateien um. Vertausch mal die Endungen in deiner Redirect-Regel.
 
Nun geht garnix mehr, es lässt sich nix mehr aufrufen

Hier mal der ganze Code der htaccess

RewriteEngine on
RewriteBase /news

RedirectMatch 301 (.*)\.php$ $1.htm
RewriteRule ^seite_([0-9]+).htm$ index.php?f=$1
RewriteRule ^beitrag_([0-9]+).htm$ topic.php?t=$1

Also index.php?f=xx ist nun gleiche Ergbniss wie seite_xx.htm

Er sollte aber direkt beim Aufruf von index.php?f=xx auf seite_xx.htm leiten, gleiche bei topic.php?t=xx
 
Afaik matched dein RedirectMatch ja nie wenn GET-Parameter da sind da die Regexp diesen Fall nicht vorsieht?
 
Das heist also ich komme um das bearbeiten der PHP/HTML Datein nicht rum?

Sry rewrite ist ein neues gebiet für mich
 
Hm, irgendwas mache ich falsch

RedirectMatch 301 (.*)\.php $1.htm

Er leitet nun direkt von .php auf .htm um, aber er zeigt die Seite nicht mehr an.
Ich will doch lediglich nur die endung .php auf .htm bekommen
 
Hallo,

So ich habe doch mal die Files bearbeitet und bei allen Links die Endung auf htm umgeschrieben.

RewriteEngine on
RewriteBase /shop
RedirectMatch 301 (.*)\.htm$ $1.php

Wenn ich nun support.htm aufrufe leitet er mich an support.php um. Dies sollte nicht so sein. Wenn ich support.htm aufrufe sollte er auch dieses im Browser anzeigen.

Apache Log:
[Mon Apr 11 11:04:51 2011] [error] [client 127.0.0.1] File does not exist: C:/xampplite/htdocs/shop/theme/images, referer: http://localhost/shop/support.php
 
Ein Redirect leitet ja auch den Client mittels Location-Header an die andere Adresse weiter und uebermittelt dabei den angegebenen HTTP Status Code.

Rewrite war schon korrekt, dieses funktioniert transparent intern.
 
Hallo,

Ein weiteres Projekt soll nun auf htm geändert werden. Diese nutzt lighttpd als Webserver.
VOn php auf htm umschreiben war kein Problem, allerdings macht mir der titel in der url probleme.

"^(.*)-f([0-9]*)/" => "blog.htm?f=$1",
"^(.*)-f([0-9]*)" => "blog.htm?f=$1"

Alt: blog.htm?f=12
Neu: ein-test-beitrag-f12.htm

Die Lighttpd Wiki habe ich bereits gelesen aber keine der Lösungen hat dort funktioniert.
 
Back
Top