2009-03-06 6 views
2

Server: ApacheWie kann ich alle URLs in "/" umschreiben?

Ich bin auf der Suche nach meinen URLs auf die folgende Weise umschreiben, und ich kann nicht herausfinden, wie es funktioniert.

http://website.com/index.html 

ich möchte es umleiten:

http://website.com/ 

Also im Grunde möchte ich index.html laden, aber es ist nicht in der URL angezeigt werden soll. Ich will auch keinen anderen Namen geben. Ich bin nicht für /index.html suchen /index

Zusätzlich zu werden, ich versuche, alle Daten erhalten zu lassen wie:

http://website.com/index.html?id=0&name="fred" 

neu zu schreiben:

http://website.com/?id=0&name="fred". 

Wenn Sie eine Lösung haben, die keine .htaccess-Dateien verwendet, ist das auch in Ordnung.

Antwort

6

Ich glaube, das sollte funktionieren:

RewriteEngine on 
RewriteRule ^index\.html(.*)$ /$1 [R=permanent,L] 

Diese alle Anfragen umleiten wird, die mit /index.html einfach „/“ beginnen und alle Argumente erhalten wird, die index.html

+0

Der Start Schrägstrich sollte definitiv nicht da sein. – Piskvor

+0

Danke; Ich habe die Antwort aktualisiert – OverloadUT

1

Für eine .htaccess-Datei nach kommen:

RewriteEngine on 
RewriteCond %{THE_REQUEST} ^GET\ /index\.html 
RewriteRule ^index\.html$/[L,R=301]