[Yii 2] [Guida] Rimuovere index.php e abilitare prettyurl in locale

Sono in sviluppo in locale, sto testando l’app avanzata.

Mi sono creato un sottodominio per il frontend ed uno per il backend




<VirtualHost *:80>

   ServerName web.app.it

   DocumentRoot "C:\xampp\htdocs\advanced\frontend\web"

</VirtualHost>



TUTTO FUNZIONA sino a qui

Ora, vorrei iniziare la personalizzazione degli url eliminando l’index.php dagli indirizzi

Modifico così il file advanced/frontend/config/main.php




<?php

return [

    'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',

    'components' => [

        'cache' => [

            'class' => 'yii\caching\FileCache',

        ],

    ],

    'urlManager' => [

        'class' => 'yii\web\UrlManager',

        'enablePrettyUrl' => true,

        'showScriptName' => false,

    ],

];



dentro advanced/frontend/web creo il file .htaccess




RewriteEngine on

 

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php



Riavvio apache

In caso di problemi, verificare nel file httpd.conf che ci sia questa riga, e che ovviamente non sia commentata




LoadModule rewrite_module modules/mod_rewrite.so



Enjoy !