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


(Terrymcginnis345) #1

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


(Patriota) #2

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.


#3

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.


(Terrymcginnis345) #4

apache tak, ale mam wersję basic…

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

dzięki za pomoc


(Patriota) #5

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


(Terrymcginnis345) #6

dzięki za info.