Como posso reescrever todos os URLs para "/"?
-
05-07-2019 - |
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.
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