yii2 apache .htaccess

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Закрыто
psevdo
Сообщения: 96
Зарегистрирован: 2013.04.10, 11:10

yii2 apache .htaccess

Сообщение psevdo »

Здравствуйте. Помогите пожалуйста разобраться. Что то я совсем поник. Поднял я Apache/2.4.26 на своей машине. Добавил в конфиге виртуальный хост:

Код: Выделить всё

<VirtualHost *:80>
    ServerAdmin webmaster@yiibasic
    DocumentRoot "d:/usr/www/yiibasic"
    ServerName yiibasic
    ServerAlias www.yiibasic
    ErrorLog "d:/usr/log/yiibasic/error.log"
    CustomLog "d:/usr/log/yiibasic/access.log" common
</VirtualHost>
Установил в папку yiibasic Yii2 basic. В папке web у меня index.php. Здесь же лежит .htaccess:

Код: Выделить всё

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . index.php
Есть контроллер TestController.php. Но когда забиваю в браузере http://yiibasic/web/test, то страница не может отобразиться:

Код: Выделить всё

The requested URL /web/test was not found on this server.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: yii2 apache .htaccess

Сообщение ElisDN »

Код: Выделить всё

DocumentRoot "d:/usr/www/yiibasic/web"

Код: Выделить всё

http://yiibasic/test
psevdo
Сообщения: 96
Зарегистрирован: 2013.04.10, 11:10

Re: yii2 apache .htaccess

Сообщение psevdo »

ElisDN писал(а): 2017.09.02, 18:27

Код: Выделить всё

DocumentRoot "d:/usr/www/yiibasic/web"

Код: Выделить всё

http://yiibasic/test
Сделал так. Теперь если набираю http://yiibasic, то страница открывается. Но если набираю http://yiibasic/test или напримерhttp://yiibasic/site/about, то страница так же не находится.
psevdo
Сообщения: 96
Зарегистрирован: 2013.04.10, 11:10

Re: yii2 apache .htaccess

Сообщение psevdo »

Короче говоря не получается убрать index.php из URL. На момент решения этой проблемы, я бы хотел оставить /web/ в URL.
psevdo
Сообщения: 96
Зарегистрирован: 2013.04.10, 11:10

Re: yii2 apache .htaccess

Сообщение psevdo »

Проблема была в том, что у меня файл .htaccess вообще не работал. Для этого я подредактировал файл httpd.conf:

Код: Выделить всё

<Directory />
    AllowOverride All [b](было None)[/b]
    Require all denied
</Directory>

Код: Выделить всё

<Directory "d:/usr/www">
    ------------------------------------
    AllowOverride All [b](было None)[/b]
    ------------------------------------
</Directory>
Т.е. был запред на переопределение правил.

Создал в корне .htaccess:

Код: Выделить всё

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On
</IfModule>
 
<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_URI} ^/.*
    RewriteRule ^(.*)$ web/$1 [L]

    RewriteCond %{REQUEST_URI} !^/web/
    RewriteCond %{REQUEST_FILENAME} !-f [OR]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.*$ web/index.php
</IfModule> 
В папке web/:

Код: Выделить всё

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Закрыто