[Mod-Rewrite] .php --> .html

alex130

Erfahrenes Mitglied
Hi
Es tut mir sehr leid, dass ich einen extra Thread aufmache, denn es gibt ja schon sehr viele über dieses thema, ich hab hier was gefunden,:
Code:
RewriteEngine	on
RewriteRule	^(.+)\.html(.*)$	$1.php$2	[L]
das funktoniert auch, aber wie kann man machen, dass man die .php datei nicht aufrufen kann? also dass man zur .html gelietet wird oder so? Oder ist das nicht möglich?
danke
 
Zuletzt bearbeitet:
So sollte es theopraktisch funktionieren:

Code:
RewriteEngine on
RewriteBase /
RewriteRule ^([^/]*)\.html$ $1.php?%{QUERY_STRING} [NC]
 
Hi
Danke für deine schnelle Antwort und sry, für meine blöde Frage, aber was muss bei Query String rein? Ich weiß nicht ob ich mich richtig ausgedrückt hab, aber ich will dass man wenn man die index.html aufruft, der content aus der index.php geladen wird, aber in der adressleiste immer index.html steht und wenn man index.php eingibt auf die index.html geleitet wird, weißt du was ich meine?
thx
 
Normal nichts.. einfach so lassen...

Optional sollte auch das hier gehen *gerade gefunden hab:

Code:
Options +Indexes
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.html$ $1.php [L]
 
Aber ich wenn ich jetzt .html eingebe, dann werde ich immer auf mein hauptverzeichnis vom Webspace umgeleitet und die .php geht noch...
lg
 
Also man könnt sich das auch einfach machen und einfach Files mit der Endung .html an den PHP Interpreter mit übergeben
 
Probier mal Folgendes:
Code:
RewriteCond	%{THE_REQUEST}	\.php(?:\?|\ )
RewriteRule	\.php$		-	[F]
RewriteRule	(.+)\.html$	$1.php	[L]
Ich würde die Dateiendung allerdings gleich ganz weglassen.
 
Hi
Ich hab noch eine Frage und zwar, wie kann ich aus so
Code:
http://meinedomain.de/index.php?site=show_product&pid=12345
eienm Link,
so einen
Code:
http://meinedomain.de/products/12345-usb-stick-1gb
machen?
Danke
 
*machen* muß man die Links schon selber, die htaccess kann das nur verarbeiten!
Wenn auf deiner Seite der Link index.php?site=blabla&id=90927 kann die htaccess daraus nicht automatisch /blabla/90927 machen.

Oder bin ich nur noch nicht dahinter gestiegen wie man seine HTML-Links automatisch per Rewrite ändern kann? Nee ne, das geht net!? Kann ich mir zumindest nicht vorstellen aber ich befasse mich ja aber auch erst seit kurzem wieder intensiv mit dem Thema von soher kann man nur lernen ^^

Für dein Problem mit dem .php auf .hmtl weiterleiten würde ich den Redirect nehmen
Code:
Redirect ^(.+)\.php(.*)$ $1.html$2
natürlich müssen dafür auch die Rewrite-Regeln existieren aber das sollte klar sein.

Zu deiner letzten Frage, da du dich ja scheinbar entschieden hast keine endungen zu verwenden, was ich übrigens genauso sehe wie Gumbo hier ein Bsp. auf die URL

http://meinedomain.de/products/12345-usb-stick-1gb

Code:
RewriteRule /products/([0-9]+)\-(.*) index.php?site=show_product&pid=$1

Diese Regel überträgt nur die Produkt-ID, sonst nix, den Link dazu mußt du in deinem PHP-Script erstellen! Da solchen Links mit Variablen gearbeitet wir sollte das ne all zu schwer sein diese Stellen via "in Dateien suchen" zu finden sein...

Ich habs nich getestet aber ich glaub das sollte so hinhauen, aber wie gesagt müssen dazu die Links in der Seite auch geändert werden.

- - - - - - - - - - -

Die mod_rewrite kann ein mächtiges Werkzeug sein, wenn man Reguläre Ausdrücke beherrscht. ich geb ehrlich zu ich hab da noch so meine Problemchen damit aber wenns einmal t is das super. ^^

Hier nen paar gute Links zu mod_rewrite (alle englisch, auf deutsch habe ich leider noch kein wirklich gutes und ausführliches TUT gefunden was sich mit allen Aspekten der mod_rewrite beschäftigt. Zu Regulären Ausdrücken gibts ein zwei sehr gute aber da hab ich die Links grad net in den Favorites ...

http://www.askapache.com/htaccess/apache-htaccess.html
Ein mod_rewrite-Guide von Ask Apache (.com)

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
Und die offizielle Doku zu Modul von apache.org

http://www.ilovejackdaniels.com/apache/mod_rewrite-cheat-sheet/
Ein kleines CheatSheet (MiniReferenz) von ILoveJackDaniels
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück