<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 раз.
вообщем собственно сделал доступ к локальному серверу на openserver через сеть по типу мой_IP/domains/test.loc
вообщем не работают почему-то настройки htaccess, прямой заход работает
an.viktory@gmail.com писал(а): ↑2018.05.04, 20:37
вообщем собственно сделал доступ к локальному серверу на openserver через сеть по типу мой_IP/domains/test.loc
вообщем не работают почему-то настройки htaccess, прямой заход работает
когда я так делаю htaccess лежащий в папке http://мой_IP/subdirectory/test1.loc не работает хотя всего то лежит в поддиректории и должен ссылаться на папку web внутри себя.
Вопрос 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 сервер тоже знает какой сайт отдавать на каждом из портов.
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
an.viktory@gmail.com писал(а): ↑2018.05.05, 05:49
простите я ничего не понимаю... может я не правильно выражаюсь.
мне надо чтобы на моем локальном сервере размещались рабочие проекты
когда я так делаю htaccess лежащий в папке http://мой_IP/subdirectory/test1.loc не работает хотя всего то лежит в поддиректории и должен ссылаться на папку web внутри себя.
Тьфу ... если у вас OpenServer идите к его разработчика и узнавайте как его настраивать...
пс: На самом деле, выкиньте этот open-server, возьмите linux, например debian, и настройте всё сами, там ничего сложного и тонны мануалов, если будут затыки тут 99% все работают так или иначе с nix системами. В идеале для этого использовать отдельную машину, но можно и виртуалку запустить локально или купить VDS какой нибудь по дешёвке... но на винде так же можно, для это есть всё, но только не всякие опенсерверы, денверы и им подобные... развивайтесь в правильном направлении и не тратьте время в пустую.