2009-03-06 10 views
2

Serveur: ApacheComment puis-je réécrire toutes les urls à "/"?

Je cherche à réécrire mes URL de la façon suivante, et je n'arrive pas à trouver un moyen de le faire fonctionner.

http://website.com/index.html 

Je veux qu'il rediriger vers:

http://website.com/ 

Donc, fondamentalement, je veux charger index.html, mais pas l'afficher dans l'URL. Je ne veux pas non plus lui donner un autre nom. Je ne cherche pas index.html pour devenir /index

De plus, je suis en train d'avoir des données telles que GET:

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

Réécrire à:

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

Si vous avez une solution qui n'utilise pas les fichiers .htaccess, c'est bien aussi.

Répondre

6

Je crois que cela devrait fonctionner:

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

Ceci permet de rediriger toutes les requêtes qui commencent par /index.html simplement « / » et conservera tous les arguments qui viennent après index.html

+0

La barre oblique de départ NE DEVRAIT certainement PAS être là. – Piskvor

+0

Merci; J'ai mis à jour la réponse – OverloadUT

1

Pour un fichier .htaccess:

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