RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]
Para fazer com que todas as requisições sejam redirecionadas para um index.php
usando um arquivo .htaccess
, você pode utilizar o seguinte código:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]
Este código faz o seguinte:
RewriteEngine On
: Ativa o módulo de reescrita do Apache.RewriteCond %{REQUEST_FILENAME} !-f
: Verifica se o arquivo solicitado não existe.RewriteCond %{REQUEST_FILENAME} !-d
: Verifica se o diretório solicitado não existe.RewriteRule ^(.*)$ /index.php?path=$1 [NC,L,QSA]
: Redireciona todas as requisições que não correspondem a um arquivo ou diretório existente paraindex.php
, passando o caminho original como um parâmetro de consulta (path
).
Este método é útil para frameworks MVC (Model-View-Controller) ou para criar um roteador de URL personalizado, onde index.php
é responsável por interpretar a URL e carregar o conteúdo apropriado.
Se você deseja redirecionar todas as requisições, incluindo aquelas para arquivos e diretórios existentes, para index.php
, você pode usar o seguinte código:
RewriteEngine on
RewriteRule ^((?!index\.php).+)$ /index.php [L]
Este código redireciona todas as requisições, exceto aquelas direcionadas para index.php
, para index.php
, evitando assim um loop infinito.
Lembre-se de que o arquivo .htaccess
deve estar localizado no diretório raiz do seu projeto ou no diretório específico que você deseja que as regras se apliquem. Além disso, certifique-se de que o módulo mod_rewrite
do Apache esteja habilitado no seu servidor para que as regras de reescrita funcionem corretamente [1][2][3][4].
Citations: [1] https://stackoverflow.com/questions/18406156/redirect-all-to-index-php-using-htaccess [2] https://gist.github.com/RaVbaker/2254618 [3] https://slashnode.com/articles/devops/2013-12-24-redirect-all-requests-to-index-php [4] https://serverfault.com/questions/991710/htaccess-to-rewrite-all-files-to-index-php [5] https://stackoverflow.com/questions/38595637/redirect-all-requests-to-index-php-htaccess [6] https://help.dreamhost.com/hc/en-us/articles/215747748-How-can-I-redirect-and-rewrite-my-URLs-with-an-htaccess-file [7] https://serverfault.com/questions/1151511/apache-rewrite-engine-redirect-all-request-to-index-php [8] https://www.reddit.com/r/PHP/comments/v6uld/is_it_wise_to_redirect_everything_to_indexphp_via/ [9] https://joomla.stackexchange.com/questions/32585/how-can-i-redirect-all-index-php-from-urls-to-stop-duplicate-urls [10] http://fangorn.thijma.nl/news/redirecting-all-requests-to-index-php-with-htaccess