Prostý a jednoduchý - chci, aby uživatel při vstupu na web získal soubor main.php místo index.php. Takový přímý úkol mi způsobil spoustu bolesti a pár hodin googlení. Následující nefunguje:
Options +FollowSymLinks RewriteEngine On RewriteRule ^/$ /subdomain/main.php
Ani to nefunguje:
Options +FollowSymLinks RewriteEngine On RewriteRule ^/$ http://localhost/subdomain/main.php
Kde je problém?
P.S. Pravidla jsou umístěna v .htaccess
v /subdomain
adresář. Používám WAMP, pokud na tom záleží.
P.P.S. Protokoly zobrazují zprávu „Soubor nebyl nalezen“.
- 1 Existuje důvod, proč nepoužíváte Apache
DirectoryIndex
směrnice k provedení tohoto úkolu? - Ne, jen jsem si toho nebyl vědom. Díky, mělo by to fungovat.
Pokud chcete porovnat URI v kořenovém adresáři, musí být váš soubor .htaccess v kořenovém adresáři, nikoli v / podadresáři.
Souhlasím, že nejlepším způsobem, jak toho dosáhnout, by bylo použití direktivy DirectoryIndex.
Je na prvním místě povolen mod_rewrite? Pokud se něco nezměnilo od posledního použití Wampserveru, je ve výchozím nastavení vypnuto.
Klikněte na ikonu WampServer na hlavním panelu myši Apache
, pak Apache modules
. Najděte v nabídce rewrite_module (nebo mod_rewrite) a klikněte na něj. Poté budete muset restartovat všechny služby.
- Samozřejmě je to zapnuté.