Страница 1 из 2

Как правильно настроить алиасы в OpenServer, потому сервер вылетает из 404?

Добавлено: 17 июн 2017, 14:48
Ruslan1728
Доброго времени суток. Столкнулся с следующей проблемой: разрабатываю проект на ии2 по шаблону advanced и для ЧПУ ссылок использую urlManager. В паки frontend / web, business / web, backend / web поставил .htaccess с кодом:
AddDefaultCharset utf-8

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

Слышал что можно алиасы в openserver настроить так, чтобы эта штука заработала, потому что сейчас apach вываливает 404 когда пытаюсь перейти по пунктам меню (на главную страницу 
захожу так прописал вручную домен hom.loc на папку hom.loc / frontend / web).
Я пробовал прописать алиасы, но там конечный домен можно выбрать из уже существующих. Помогите разобраться с проблемой.

Re: Как правильно настроить алиасы в OpenServer, потому сервер вылетает из 404?

Добавлено: 17 июн 2017, 17:55
Pashik
Здравствуйте. Я ни про какие фреймворки и шаблоны не в курсе и никогда их не использовал. Но зачем делать роутинг в этих папках? Не проще ли прописать эти правила в одном корневом .htaccess и манипулировать ссылками на уровне PHP?

Re: Как правильно настроить алиасы в OpenServer, потому сервер вылетает из 404?

Добавлено: 17 июн 2017, 19:33
Ruslan1728
Pashik писал(а):Здравствуйте. Я ни про какие фреймворки и шаблоны не в курсе и никогда их не использовал. Но зачем делать роутинг в этих папках? Не проще ли прописать эти правила в одном корневом .htaccess и манипулировать ссылками на уровне PHP?
Мне надо чтобы человек набрал а строке http // hom.loc имеет попасть в папку frontend / web, http // business.hom.loc --- business / web, http // admin.hom.loc --- backend / web и я не знаю как это можно реализовать через .htaccess.

Re: Как правильно настроить алиасы в OpenServer, потому сервер вылетает из 404?

Добавлено: 17 июн 2017, 20:57
Pashik
Добавляете алиас в настройках сервера вида "*.hom.loc" => "hom.loc". Создаете каждый поддомен вручную в папке с доменами, т.к. Windows динамически их не создает. И добавляете следующий код в корневой .htaccess сайта "hom.loc".
RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^business\.hom\.loc$
RewriteCond %{REQUEST_URI} !/business/web
RewriteRule ^(.*)$ /business/web/$1 [L,NC]

RewriteCond %{HTTP_HOST} ^admin\.hom\.loc$
RewriteCond %{REQUEST_URI} !/backend/web
RewriteRule ^(.*)$ /backend/web/$1 [L,NC]

RewriteCond %{HTTP_HOST} ^\.hom\.loc$
RewriteCond %{REQUEST_URI} !/frontend/web
RewriteRule ^(.*)$ /frontend/web/$1 [L,NC]
Проверил, работает.

Re: Как правильно настроить алиасы в OpenServer, потому сервер вылетает из 404?

Добавлено: 17 июн 2017, 21:28
Ruslan1728
Pashik писал(а):Добавляете алиас в настройках сервера вида "*.hom.loc" => "hom.loc". Создаете каждый поддомен вручную в папке с доменами, т.к. Windows динамически их не создает. И добавляете следующий код в корневой .htaccess сайта "hom.loc".
RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^business\.hom\.loc$
RewriteCond %{REQUEST_URI} !/business/web
RewriteRule ^(.*)$ /business/web/$1 [L,NC]

RewriteCond %{HTTP_HOST} ^admin\.hom\.loc$
RewriteCond %{REQUEST_URI} !/backend/web
RewriteRule ^(.*)$ /backend/web/$1 [L,NC]

RewriteCond %{HTTP_HOST} ^\.hom\.loc$
RewriteCond %{REQUEST_URI} !/frontend/web
RewriteRule ^(.*)$ /frontend/web/$1 [L,NC]
Проверил, работает.

Простите что трачу ваше время, но я не понял что именно вы имели в виду под: Создаете каждый поддомен вручную в папке с доменами, т.к. Windows динамически их не создает. . Пожалуйста скажите что я і где есть прописать и как, потому что что-то не понимаю как я должен сделать

Re: Как правильно настроить алиасы в OpenServer, потому сервер вылетает из 404?

Добавлено: 17 июн 2017, 21:35
Pashik
Ruslan1728, Вот у вас в папке с сайтами имеется "hom.loc". Нужно также создать "admin.hom.loc" и "business.hom.loc". Их не нужно наполнять чем - то, они всего лишь должны существовать. А также можете прописать поддомены в hosts файле. В этом случае не придется создавать папки.

Re: Как правильно настроить алиасы в OpenServer, потому сервер вылетает из 404?

Добавлено: 17 июн 2017, 21:52
Ruslan1728
Pashik писал(а):Ruslan1728, Вот у вас в папке с сайтами имеется "hom.loc". Нужно также создать "admin.hom.loc" и "business.hom.loc". Их не нужно наполнять чем - то, они всего лишь должны существовать. А также можете прописать поддомены в hosts файле. В этом случае не придется создавать папки.
Сделал как вы написали, в результате когда ввожу "admin.hom.loc" или "business.hom.loc" переходит в "hom.loc" и там останавливается. В папки business / web, backend / web, как задумано не переходит.

Re: Как правильно настроить алиасы в OpenServer, потому сервер вылетает из 404?

Добавлено: 17 июн 2017, 21:54
Pashik
Значит у вас там есть что - то еще. Покажите содержимое файла .htaccess. Поместите код в тег
. И как вы проверяли, что не переходит?

Re: Как правильно настроить алиасы в OpenServer, потому сервер вылетает из 404?

Добавлено: 17 июн 2017, 22:02
Ruslan1728
Pashik писал(а):Значит у вас там есть что - то еще. Покажите содержимое файла .htaccess.. И как вы проверяли, что не переходит?
У меня в папке 'hot.loc' стоит .htaccess с кодом:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^business\.hom\.loc$
RewriteCond %{REQUEST_URI} !/business/web
RewriteRule ^(.*)$ /business/web/$1 [L,NC]

RewriteCond %{HTTP_HOST} ^admin\.hom\.loc$
RewriteCond %{REQUEST_URI} !/backend/web
RewriteRule ^(.*)$ /backend/web/$1 [L,NC]

RewriteCond %{HTTP_HOST} ^\.hom\.loc$
RewriteCond %{REQUEST_URI} !/frontend/web
RewriteRule ^(.*)$ /frontend/web/$1 [L,NC]

Проверял так:
  в адресную ленту ввожу admin.hom.loc и попадаю в hom.loc /, а нужно чтобы попал в hom.loc / backend / web

Re: Как правильно настроить алиасы в OpenServer, потому сервер вылетает из 404?

Добавлено: 17 июн 2017, 22:08
Pashik
Сам путь существует "/backend/web" в папке с сайтом "hom.loc"? Присутствует ли в папке "web" файл index.php?