Jak pozbyć się ciągu znaku "Web" z urla

Witam forumowiczów,

Mam małe pytanie,

Czy ktoś się orientuje jak z url’a pozbyć się stringu “/web”, ale nie metodą przeniesienia zawartości katalogu “web” do roota, tylko za pomocą htaccess’a albo jakąś inną bezpieczniejszą metodą?

Dzięki za pomoc,

Pozdrawiam

To zależy od dwóch czyników:

  1. Jakiego serwera używasz nginx czy apache ? zakladam ze apache

  2. Jakiej aplikacji Yii2 używasz advanced czy basic? zakladam ze advanced

Trzeba ustawić plik konfiguracyjny Yii2 i plik konfiguracyjny apache

W config apache ustawić tak żeby folderem public był folder patch/to/app/frontend/web lub patch/to/app/web (jezeli basic)

W domyślnej konfiguracji Yii2 można w configu ustawić


'urlManager' => [

     'hostInfo' => 'http://site.dev/',

]

jezeli backend jest w tej samej domenie co frontend to config backend trzeba folder root ustawic na patch/to/app/frontend

a w pliu Yii2 bawimy sie jedynie maksymalnie dwoma atrybutami


'urlManager' => [

				'baseUrl' => '/admin',

				'scriptUrl'=>'/admin/index.php',

		],

'request' => [


            'baseUrl' => '/admin',   // wazne dla urlManager

        ]

Zadkładam że w twoim przypadku wystarczy zmienic plik konfiguracyjny apache.

Jeśli nie możesz zmienić głównego katalogu domeny w ustawieniach serwera www, możesz utworzyć dowiązanie symboliczne z "web" do głównego katalogu domeny. Wtedy pliki z projektem mogą być gdziekolwiek.

apache tak, ale mam wersję basic…

kojarzysz może jak się to nazywa w configu apache’a ?

dzięki za pomoc

W configu apache nazywa się to vhost. Jak ustawisz vhost to w folderze web musisz zostawić domyślny plik htaccess


RewriteEngine on


# If a directory or a file exists, use the request directly

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

# Otherwise forward the request to index.php

RewriteRule . index.php

dzięki za info.