Pergunta

Servidor: Apache

Estou procurando reescrever meus URLs da seguinte maneira, e não consigo descobrir uma maneira de fazê -lo funcionar.

http://website.com/index.html

Eu quero que ele seja redirecionado para:

http://website.com/

Então, basicamente, eu quero carregar index.html, mas não exibi -lo no URL. Eu também não quero dar outro nome. Não estou procurando /index.html tornar-se /índice

Além disso, estou tentando ter dados GET como:

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

Para reescrever para:

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

Se você possui uma solução que não está usando arquivos .htaccess, tudo bem também.

Foi útil?

Solução

Eu acredito que isso deve funcionar:

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

Isso redirecionará todos os pedidos que começarem com /index.html para simplesmente "/"e preservará quaisquer argumentos que vier index.html

Outras dicas

Para um arquivo .htaccess:

RewriteEngine on
RewriteCond %{THE_REQUEST} ^GET\ /index\.html
RewriteRule ^index\.html$ / [L,R=301]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top