htaccess если проект в субдомене

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

htaccess если проект в субдомене

Сообщение an.viktory@gmail.com »

при запуске проекта в субдомене он не запускается

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

Options +FollowSymLinks

IndexIgnore */*
RewriteEngine on

RewriteCond %{REQUEST_URI} !^/(web)
RewriteRule ^assets/(.*)$ /web/assets/$1 [L]
RewriteRule ^css/(.*)$ web/css/$1 [L]
RewriteRule ^js/(.*)$ web/js/$1 [L]
RewriteRule ^images/(.*)$ web/images/$1 [L]
RewriteRule (.*) /web/$1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /web/index.php
в WEB

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

RewriteEngine On RewriteBase /

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

RewriteRule . index.php
Аватара пользователя
mat.twg
Сообщения: 222
Зарегистрирован: 2012.02.22, 20:44
Откуда: Санкт-Петербург

Re: htaccess если проект в субдомене

Сообщение mat.twg »

Для субдомеа такие же настройки как и на уровень выше... настройте правильно хост для апача, отредактируйте DNS...

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

    <VirtualHost *:80>
        ServerName test.domain.com
        DocumentRoot "/var/www/test/web/"

        ErrorLog        /var/www/test/apache/error.log
        CustomLog       /var/www/test/apache/access.log combined

        <Directory "/var/www/test/web/">
            # use mod_rewrite for pretty URL support
            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

            # use index.php as index file
            DirectoryIndex index.php

            ## Apache 2.2
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
Последний раз редактировалось mat.twg 2018.05.04, 18:34, всего редактировалось 1 раз.
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: htaccess если проект в субдомене

Сообщение andku83 »

а апач знает что по этому субдомену нужно обращаться в эту папку?
Аватара пользователя
mat.twg
Сообщения: 222
Зарегистрирован: 2012.02.22, 20:44
Откуда: Санкт-Петербург

Re: htaccess если проект в субдомене

Сообщение mat.twg »

DNS

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

test		A	xxx.xxx.xxx.123
andku83 писал(а): 2018.05.04, 18:32 а апач знает что по этому субдомену нужно обращаться в эту папку?
Апач всё знает...
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: htaccess если проект в субдомене

Сообщение andku83 »

mat.twg писал(а): 2018.05.04, 18:41 Апач всё знает...
вопрос был к ТС и до того как вы добавили настройку апача...
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: htaccess если проект в субдомене

Сообщение an.viktory@gmail.com »

вообщем собственно сделал доступ к локальному серверу на openserver через сеть по типу мой_IP/domains/test.loc
вообщем не работают почему-то настройки htaccess, прямой заход работает

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

мой_IP/domains/test.loc/web/index.php

но пути к ресурсам не работают.
Аватара пользователя
mat.twg
Сообщения: 222
Зарегистрирован: 2012.02.22, 20:44
Откуда: Санкт-Петербург

Re: htaccess если проект в субдомене

Сообщение mat.twg »

an.viktory@gmail.com писал(а): 2018.05.04, 20:37 вообщем собственно сделал доступ к локальному серверу на openserver через сеть по типу мой_IP/domains/test.loc
вообщем не работают почему-то настройки htaccess, прямой заход работает

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

мой_IP/domains/test.loc/web/index.php

но пути к ресурсам не работают.
Удалите/переименуйте свой .htaccess и настройте виртуальный хост как показано выше.
an.viktory@gmail.com
Сообщения: 536
Зарегистрирован: 2016.09.05, 23:21

Re: htaccess если проект в субдомене

Сообщение an.viktory@gmail.com »

простите я ничего не понимаю... может я не правильно выражаюсь.
мне надо чтобы на моем локальном сервере размещались рабочие проекты

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

openserver/domains/test1.loc
openserver/domains/test2.loc
openserver/domains/test3.loc
и я мог бы с любого компьютера по принципу

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

http://мой_IP/domains/test1.loc
заходить на сайты ... openserver говорит что так никак и рекомендует положить проекты в поддиректорию.

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

openserver/domains/subdirectory/test1.loc
openserver/domains/subdirectory/test2.loc
openserver/domains/subdirectory/test3.loc
И СООТВЕСТВЕННО ИЗ WEB

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

http://мой_IP/subdirectory/test1.loc
когда я так делаю htaccess лежащий в папке http://мой_IP/subdirectory/test1.loc не работает хотя всего то лежит в поддиректории и должен ссылаться на папку web внутри себя.
Аватара пользователя
proctoleha
Сообщения: 298
Зарегистрирован: 2016.07.10, 19:00

Re: htaccess если проект в субдомене

Сообщение proctoleha »

http://мой_IP/domains/test1.loc

Вопрос 1: Как вы считаете: какая часть данного адреса указывает на корень сайта?
Вопрос 2: Как вы считаете: как web сервер обрабатывает данный запрос?

Ответ 1: На корень сайта всегда указывает первая часть запроса в адресной строке. До первого слеша. В данном случае - это ip адрес.
Ответ 2: Web сервер смотрит в какой корневой папке лежит сайт который запрашивают. В случае локальной разработки, когда мы запрашиваем по своему ip - это localhost. И вот web сервер читает - ага, localhost у нас в такой-то папке, дальше читает, то что идет после слешей, и отдает рез-тат.

Как должно быть по нормальному.

Для каждого отдельного локального сайта мы создаем отдельный виртуальный хост, и явно прописываем document root. Например, для сайта test1.loc, C:/openserver/domains/test1.loc/web (как в винде правильно писать пути я не знаю)
Папка C:/openserver/domains/test1.loc должна существовать.
Кладем в эту папку проект с yii2 basic template и работаем. Папка web в этом проекте есть, и апач знает, что это корневая папка для сайта test1.loc, и все запросы направляет в эту папку. И файл .htaccess тоже лежит в этой папке и работает правильно.

Если на компьютере открыт 80 порт, то на др. компах достаточно прописать ваши локальные сайты в файле hosts. Для того чтобы получить доступ извне, из интернета к вашим локальным сайтам, есть несколько вариантов. Например: у меня белый ip, и в роутере проброшены порты 80, 8080, 8081, 8082. Я работаю удаленно, и члены команды знают какой из служебных сайтов на каком порту. Естественно web сервер тоже знает какой сайт отдавать на каждом из портов.
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
Аватара пользователя
mat.twg
Сообщения: 222
Зарегистрирован: 2012.02.22, 20:44
Откуда: Санкт-Петербург

Re: htaccess если проект в субдомене

Сообщение mat.twg »

an.viktory@gmail.com писал(а): 2018.05.05, 05:49 простите я ничего не понимаю... может я не правильно выражаюсь.
мне надо чтобы на моем локальном сервере размещались рабочие проекты

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

openserver/domains/test1.loc
openserver/domains/test2.loc
openserver/domains/test3.loc
и я мог бы с любого компьютера по принципу

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

http://мой_IP/domains/test1.loc
заходить на сайты ... openserver говорит что так никак и рекомендует положить проекты в поддиректорию.

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

openserver/domains/subdirectory/test1.loc
openserver/domains/subdirectory/test2.loc
openserver/domains/subdirectory/test3.loc
И СООТВЕСТВЕННО ИЗ WEB

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

http://мой_IP/subdirectory/test1.loc
когда я так делаю htaccess лежащий в папке http://мой_IP/subdirectory/test1.loc не работает хотя всего то лежит в поддиректории и должен ссылаться на папку web внутри себя.
Тьфу ... если у вас OpenServer идите к его разработчика и узнавайте как его настраивать...

пс: На самом деле, выкиньте этот open-server, возьмите linux, например debian, и настройте всё сами, там ничего сложного и тонны мануалов, если будут затыки тут 99% все работают так или иначе с nix системами. В идеале для этого использовать отдельную машину, но можно и виртуалку запустить локально или купить VDS какой нибудь по дешёвке... но на винде так же можно, для это есть всё, но только не всякие опенсерверы, денверы и им подобные... развивайтесь в правильном направлении и не тратьте время в пустую.
Аватара пользователя
mat.twg
Сообщения: 222
Зарегистрирован: 2012.02.22, 20:44
Откуда: Санкт-Петербург

Re: htaccess если проект в субдомене

Сообщение mat.twg »

an.viktory@gmail.com писал(а): 2018.05.05, 05:49 и я мог бы с любого компьютера по принципу

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

http://мой_IP/domains/test1.loc
Откройте 80 порт, как в файрволе финды так и на роутере (перенаправьте 80 с вашего внешнего IP на ваш локальный IP машины)
Ответить