Ricerca…


Distribuzione in ambiente di hosting condiviso

La distribuzione di un modello di progetto avanzato sull'hosting condiviso è un po 'più complicata rispetto a quella di base perché ha due web-root, che i server Web di hosting condiviso non supportano. Dovremo modificare la struttura delle directory in modo che l'URL di frontend sia http: //site.local e l'URL di backend sia http: //site.local/admin .

Sposta gli script di accesso in un singolo webroot

Prima di tutto abbiamo bisogno di una directory webroot. Creare una nuova directory e denominarla in modo che corrisponda al nome del webroot di hosting, ad esempio www o public_html o simile. Quindi crea la seguente struttura dove www è la directory webroot di hosting che hai appena creato:

www
    admin
backend
common
console
environments
frontend
...

www sarà la nostra directory di frontend in modo da spostare il contenuto di frontend / web in esso. Sposta il contenuto del back-end / web in www / admin . In ogni caso sarà necessario regolare i percorsi in index.php e index-test.php .

Originariamente il backend e il frontend sono destinati a funzionare in diversi domini. Quando lo spostiamo tutti nello stesso dominio, il frontend e il backend condivideranno gli stessi cookie, creando uno scontro. Per sistemarlo, regola il backend dell'applicazione config backend / config / main.php come segue:

'components' => [
    'request' => [
        'csrfParam' => '_csrf-backend',
        'csrfCookie' => [
            'httpOnly' => true,
            'path' => '/admin',
        ],
    ],
    'user' => [
        'identityClass' => 'common\models\User',
        'enableAutoLogin' => true,
        'identityCookie' => [
            'name' => '_identity-backend',
            'path' => '/admin',
            'httpOnly' => true,
        ],
    ],
    'session' => [
        // this is the name of the session cookie used for login on the backend
        'name' => 'advanced-backend',
        'cookieParams' => [
            'path' => '/admin',
        ],
    ],
],

Spero che questo aiuti gli utenti di hosting condiviso a implementare un'applicazione avanzata.

crediti: https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/topic-shared-hosting.md

Quindi hai caricato i tuoi file in una cartella dire /backend/web/uploads/ e vuoi che questi caricamenti siano visibili anche sul frontend. L'opzione più semplice è creare un collegamento simbolico nel frontend che collega al back-end:

ln -s /path/to/backend/web/uploads/ /path/to/frontend/web/uploads

Nelle tue visualizzazioni puoi ora utilizzare i collegamenti relativi ai file:

<img src='/uploads/<?= $model->image?>' alt='My Image goes here'>
<a href='/uploads/<?= $model->filename?>' target='_blank'>Download File</a>

Assicurati che il tuo webserver permetta ai follower di essere seguiti.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow