Покажите правильные .htaccess [basic]

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Покажите правильные .htaccess [basic]

Сообщение girmate »

Установил с нуля OpenServer
В папку domains положил mydomen.loc

Пожалуйста покажите свои .htaccess файлы для корня проекта и для /web. Скопировал файлы с предыдущего проекта, но не убирается папка web. Может еще в конфиге нужно что прописывать? В предыдущем проекте все работало отлично и на хостинге тоже. А тут скопировал оба файла, но /web/ в адресе не убирается.

.htaccess в корне:

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

Options -Indexes
IndexIgnore */*
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.+)?$ /web/$1
.htaccess в /web:

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

Options +FollowSymLinks
IndexIgnore */*

RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php
Что я делаю не так?
Последний раз редактировалось girmate 2016.05.26, 09:00, всего редактировалось 1 раз.
Осторожно! Вы общаетесь с новичком ;)
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Покажите правильные .htaccess [basic]

Сообщение girmate »

Все, разобрался. Нужно было еще в конфиге в request добавить:

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

'baseUrl'=> '', 
Осторожно! Вы общаетесь с новичком ;)
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Покажите правильные .htaccess [basic]

Сообщение girmate »

Если кто-нибудь желает дополнить что-то, не стесняйтесь.
Осторожно! Вы общаетесь с новичком ;)
Avarskiy
Сообщения: 27
Зарегистрирован: 2014.12.12, 13:01

Re: Покажите правильные .htaccess [basic]

Сообщение Avarskiy »

Я вообще без .htaccess делаю. Создаю символьные ссылки на нужные папки и все.
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Покажите правильные .htaccess [basic]

Сообщение girmate »

Avarskiy писал(а):Я вообще без .htaccess делаю. Создаю символьные ссылки на нужные папки и все.
Поподробнее, пожалуйста
Осторожно! Вы общаетесь с новичком ;)
Avarskiy
Сообщения: 27
Зарегистрирован: 2014.12.12, 13:01

Re: Покажите правильные .htaccess [basic]

Сообщение Avarskiy »

girmate писал(а):
Avarskiy писал(а):Я вообще без .htaccess делаю. Создаю символьные ссылки на нужные папки и все.
Поподробнее, пожалуйста
1. Размещаем каталог с проектом куда нибудь в недоступное из вне место. Например ...../OpenServer/Sites/Project_Catalog/
2. Создаем в каталоге ...../OpenServer/domains символьную ссылку. Для это открываем консоль в этой папке. Для этого нажимаем правую кнопку мыши с зажатым shift. Появится пункт "Открыть окно команд." Пишем в ней:
mklink /J mydomen.loc ..\Sites\Project_Catalog\frontend\web
И все. Когда будешь открывать домен mydomen.loc ты будешь открывать каталог web...
Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: Покажите правильные .htaccess [basic]

Сообщение Nerf »

Гениальное решение. Что мешает просто указать в openserver домен-директория не ясно. Не ясно как запросы при этом редиректятся на index.php без htaccess.
Единственное, что пока приходилось делать через симлинки, так это связывание общей директории для загрузки файлов. Хотя и там можно без этого.
UrlRule
Сообщения: 13
Зарегистрирован: 2016.05.27, 15:26

Re: Покажите правильные .htaccess [basic]

Сообщение UrlRule »

Пусть полежит тут, может кому-то поможет.
https://github.com/ilopX/yii2-basic-htaccess
Avarskiy
Сообщения: 27
Зарегистрирован: 2014.12.12, 13:01

Re: Покажите правильные .htaccess [basic]

Сообщение Avarskiy »

Там нечему редиректиться, для браузера, и для самого apache, index.php будет находиться в корневой папке. От .htaccess вообще избавляемся.
Nerf
Сообщения: 780
Зарегистрирован: 2015.01.29, 00:37

Re: Покажите правильные .htaccess [basic]

Сообщение Nerf »

girmate писал(а):Если кто-нибудь желает дополнить что-то, не стесняйтесь.
Зачем вам делать доступной для сервера директорию приложения? Сделайте веб-корнем папку web. Htaccess у вас подойдёт.
Avarskiy писал(а):Там нечему редиректиться, для браузера, и для самого apache, index.php будет находиться в корневой папке. От .htaccess вообще избавляемся.
Вы "чпу" включали хоть раз?)
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Покажите правильные .htaccess [basic]

Сообщение girmate »

Nerf писал(а):
girmate писал(а):Если кто-нибудь желает дополнить что-то, не стесняйтесь.
Зачем вам делать доступной для сервера директорию приложения? Сделайте веб-корнем папку web. Htaccess у вас подойдёт.
Я вот одного понять не могу. У меня на платном хостинге куча папок со всякими там логами, настройками и так далее. Одна папка /ht_docs выделена под мой проект. Насколько я понимаю, в идеале, все что лежит в папке /web мне нужно записать в папку /ht_docs, а все остальные папки - /vendor, /model и так далее положить на тот же уровень где лежит папка ht_docs.

Теперь вопрос. Там же мешанина получается. От хостера с десяток папок + мои модели, компоненты и много чего еще. Как это дело обновлять? как уследить за всеми этими папками.

Поэтому я решил все сбросить в папку /web и вот показал свои htaccess. И меня самого такой вариант не устраивает! Но как надо? Есть вариант закинуть все свои файлы кроме папки /web в какую-то свою папку и наcтроить .htaccess?

Я понимаю что я делаю неправильно когда складываем все в одну папку, доступную извне. Но тогда как же упорядочить эту "кашу" из своих папок и папок хостинга?

Как нужно делать?
Осторожно! Вы общаетесь с новичком ;)
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Покажите правильные .htaccess [basic]

Сообщение Onotole »

Выше папки ht_docs создайте папку скажем app, в нее положите всё, кроме web. Затем содержимое web положите в ht_docs закачайте содержимое web и в index.php пропишите полный или относительный путь к папке app
Avarskiy
Сообщения: 27
Зарегистрирован: 2014.12.12, 13:01

Re: Покажите правильные .htaccess [basic]

Сообщение Avarskiy »

Onotole писал(а):Выше папки ht_docs создайте папку скажем app, в нее положите всё, кроме web. Затем содержимое web положите в ht_docs закачайте содержимое web и в index.php пропишите полный или относительный путь к папке app
можно просто удалить папку ht_docs, и вместо него создать символьную ссылку на папку web. В этом случае не надо ничего менять.
А для ЧПУ создаем в папке web файл .htaccess с таким содержимым

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

Options +FollowSymLinks
IndexIgnore */*

RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php

ЧПУ прекрасно будет работать.
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Покажите правильные .htaccess [basic]

Сообщение girmate »

Avarskiy писал(а):
Onotole писал(а):Выше папки ht_docs создайте папку скажем app, в нее положите всё, кроме web. Затем содержимое web положите в ht_docs закачайте содержимое web и в index.php пропишите полный или относительный путь к папке app
можно просто удалить папку ht_docs, и вместо него создать символьную ссылку на папку web. В этом случае не надо ничего менять.
Так а само приложение, модели, контроллеры куда положить? Можно в отдельную папку?
И смогу ли я создать символьную ссылку на папку /web если у меня shared-хостинг (веб сервер Apache, cpanel панель администрирования). Я так понимаю что символьная ссылка это что-то вроде адрес на www.mydomen.ru перенаправит на mydomen.ru? Я просто понятия не имею достаточно ли у меня прав создавать символьные ссылки? Я их никогда не создавал. Можете поподробнее описать как это делается? И куда какие файлы распихивать?
Осторожно! Вы общаетесь с новичком ;)
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Покажите правильные .htaccess [basic]

Сообщение girmate »

мне бы очень хотелось разобраться в этом вопросе. С ваших слов я уже понял что мой второй файл .htaccess отвечает именно за ЧПУ. Уже лучше.

Осталось разобраться с символьными ссылками.
Осторожно! Вы общаетесь с новичком ;)
Avarskiy
Сообщения: 27
Зарегистрирован: 2014.12.12, 13:01

Re: Покажите правильные .htaccess [basic]

Сообщение Avarskiy »

girmate писал(а):
Avarskiy писал(а):
Onotole писал(а):Выше папки ht_docs создайте папку скажем app, в нее положите всё, кроме web. Затем содержимое web положите в ht_docs закачайте содержимое web и в index.php пропишите полный или относительный путь к папке app
можно просто удалить папку ht_docs, и вместо него создать символьную ссылку на папку web. В этом случае не надо ничего менять.
Так а само приложение, модели, контроллеры куда положить? Можно в отдельную папку?
И смогу ли я создать символьную ссылку на папку /web если у меня shared-хостинг (веб сервер Apache, cpanel панель администрирования). Я так понимаю что символьная ссылка это что-то вроде адрес на http://www.mydomen.ru перенаправит на mydomen.ru? Я просто понятия не имею достаточно ли у меня прав создавать символьные ссылки? Я их никогда не создавал. Можете поподробнее описать как это делается? И куда какие файлы распихивать?
Само приложение можешь хранить в любом удобном тебе месте в системе. Символьные ссылки к домену отношения не имеют. Это возможности файловой системы. Понять что это такое не сложно , главное понять как файлы на диске хранятся. Прочитать можно здесь, думаю все доходчиво.
https://habrahabr.ru/post/99746/

Хотя это фишка больше Unix файловых систем, все же Windows тоже поддерживает его некоторые возможности, которых в данном случае достаточно.

Это что то типа ярлыков на рабочем столе, но с большими возможностями.
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Покажите правильные .htaccess [basic]

Сообщение girmate »

Avarskiy писал(а): Это что то типа ярлыков на рабочем столе, но с большими возможностями.
Другими словами я это смогу сделать через контрольную панель на хостинге?
Осторожно! Вы общаетесь с новичком ;)
Avarskiy
Сообщения: 27
Зарегистрирован: 2014.12.12, 13:01

Re: Покажите правильные .htaccess [basic]

Сообщение Avarskiy »

girmate писал(а):
Avarskiy писал(а): Это что то типа ярлыков на рабочем столе, но с большими возможностями.
Другими словами я это смогу сделать через контрольную панель на хостинге?
Думаю там такой возможности не будет. Либо надо подключиться через shh и самому делать, или попросить тех поддержку помощи. Думаю помогут.
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Покажите правильные .htaccess [basic]

Сообщение girmate »

Avarskiy писал(а): Думаю там такой возможности не будет. Либо надо подключиться через shh и самому делать, или попросить тех поддержку помощи. Думаю помогут.
Ок, спасибо.
Осторожно! Вы общаетесь с новичком ;)
Аватара пользователя
girmate
Сообщения: 1534
Зарегистрирован: 2015.10.27, 12:52

Re: Покажите правильные .htaccess [basic]

Сообщение girmate »

Avarskiy писал(а): Думаю там такой возможности не будет. Либо надо подключиться через shh и самому делать, или попросить тех поддержку помощи. Думаю помогут.
Хотя нет, еще пару моментов уточнить. Я должен буду поместить на хостинге все в каталог, например, myapplication, кроме содержимого папки /web. А папку /web закинуть ht_docs.

И затем я что должен буду сказать хостеру? "Сделайте мне чтобы ... " Или вообще все, включая папку /web закинуть в myapplication и что?
Осторожно! Вы общаетесь с новичком ;)
Ответить