mickgeek / yii2-advanced-one-domain-config

A template configuration without separation on the frontend and backend parts on different domains.
280 stars 125 forks source link

Inside subdirectory #22

Open neoacevedo opened 3 years ago

neoacevedo commented 3 years ago

How should I to configure my .htaccess if I need to run the app advanced inside a subdirectory to access to it as web subdirectory, e.g: www.mysite.tld/app-advanced ?

mickgeek commented 2 years ago

Hi.

Your virtual host configuration should be like follow that:

<VirtualHost *:80>
    ServerName 0.0.0.0
    DocumentRoot /home/app

    <Directory />
        DirectoryIndex index.html

        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Create and edit the application files. The /home/app/yii2-app-advanced/.htaccess file:

RewriteEngine on

RewriteCond %{REQUEST_URI} ^
RewriteRule ^ frontend/web%{REQUEST_URI}
RewriteRule /admin backend/web%{REQUEST_URI}

The /home/app/yii2-app-advanced/frontend/web/.htaccess and /home/app/yii2-app-advanced/backend/web/.htaccess files:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

The /home/app/yii2-app-advanced/frontend/config/main.php file:

'homeUrl' => '/yii2-app-advanced',
'components' => [
    'request' => [
        'baseUrl' => '/yii2-app-advanced',
    ],
    'assetManager' => [
        'baseUrl' => '/yii2-app-advanced/frontend/web/assets',
    ],
...

The /home/app/yii2-app-advanced/backend/config/main.php file:

'homeUrl' => '/yii2-app-advanced/admin',
'components' => [
    'request' => [
        'baseUrl' => '/yii2-app-advanced/admin',
    ],
    'assetManager' => [
        'baseUrl' => '/yii2-app-advanced/backend/web/assets',
    ],
...

Also modify the /home/app/yii2-app-advanced/frontend/assets/AppAsset.php and /home/app/yii2-app-advanced/backend/assets/AppAsset.php files: the $baseUrl variable should be /yii2-app-advanced/frontend/web and /yii2-app-advanced/backend/web respectively.

The server version: Apache/2.4.53. Sorry for the late answer.