mod_rewrite

saila

Erfahrenes Mitglied
Hi,

derzeit bin ich beim Thema RewriteRule und URL-Manipulation.

Hierzu die Frage, wenn in der URL-Adresszeile index.php vorhanden ist und dies in index.html geändert werden soll, habei ch folgende Einträge in der .htaccess:
Code:
Options +FollowSymlinks

<FilesMatch "\.(inc|tpl|h|ihtml|sql|ini|conf|class|bin|spd|theme|module)$">
deny from all
</FilesMatch>

<Limit GET PUT POST>
  Order Allow,Deny
  Allow from all
</Limit>

RewriteEngine On
RewriteRule ^index.html$ index.php

Das ganze funktioniert auch, wenn ich index.html in die Adressleiste eingebe. Wenn ich jedoch z.B. über Favoriten im Browser gehe, in welchem die index.php angesprochen wird, zeigt sich die index.php. Sprich die index.php wird nicht umgeschrieben in index.html.

Frage nun, was muss man tun, damit

a) intern richtig auf index.php umgeleitet wird und
b) in der Adressleiste nun index.html steht staht index.php

Danke für die Infos!

Edit:
Um die Problematik noch etwas klarer aufzubereiten:
Die Links sollen nicht angepasst werden sondern das Anpassen soll über die .htaccess erfolgen - sofern das geht und hier eben die Frage, was zu tun ist.
 
Zuletzt bearbeitet:
Setze mal zusätzlich folgende Regel ein:
Code:
RewriteCond %{THE_REQUEST} \ /index\.php
RewriteRule ^index\.php$ /index.html [L,R=301]
 
Ok, nun wird aus index.php index.html. War klar, aber die Links, kann man hier einen Weg finden, statt diese alle im Content zu ändern, über .htaccess anzupassen?
 
Das „mod_rewrite“-Modul kann nur Anfragen an den Server verarbeiten. Die URLs in den Dokumenten selbst müsstest du dann mit PHP verändern.
 
Zurück