Ta porada dotyczy tylko serwerów Apache i plików konfiguracyjnych .htaccess, które pozwalają dodawać własne dyrektywy do bazowych ustawień. Tak więc, aby pozbyć się /public/index.php wystarczy w katalogu głównym strony umieścić plik .htaccess, a w nim dopisać kilka reguł i dopasowań z modułu MOD_REWRITE. Moduł ten pozwala na przykład tworzyć “przyjazne adresy” (tzw. Friendly Url) lub przekierowania typu 301, 302, 303, 304 itp.
1 2 3 4 5 6 7 8 |
RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.)?example.com$ RewriteCond %{REQUEST_URI} !^/public/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /public/$1 RewriteCond %{HTTP_HOST} ^(www.)?example.com$ RewriteRule ^(/)?$ public/index.php [L] |
Po tym zabiegu możesz odpalić stronę tak:
http://example.com/public/index.php
lub tak:
http://example.com