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é.

Pracoval pro vás: Charles Robertson | Chcete nás kontaktovat?

užitečné informace