Как настроить .htaccess?

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
goldwizard13
Сообщения: 8
Зарегистрирован: 2017.02.12, 13:05

Как настроить .htaccess?

Сообщение goldwizard13 »

Помогите настроить .htaccess. Есть скрипт с структурой

-frontend
--www
---index.php
-backend
--www
---index.php
-common
-console
есть рекоммендации разработчика но не очень разбираюсь
Необходимо сконфигурировать сервер так, чтобы корневая директория указывала на /frontend/www. Такой подход дополнительно обеспечивает защиту данных находящихся на одном уровне с /frontend. Таким образом файлы располагающиеся внутри директории /frontend/www станут доступны при наборе основного доменного имени, например http://sait.com.

Пример конфигурационного файла Apache

<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@localhost
ServerName sait.com
DocumentRoot /var/www/sait/frontend/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/sait/frontend/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Для администраторской части торговой площадки /backend, рекомендуется создать отдельный поддомен, например admin.sait.com. По аналогии с вышеприведенным примером, в конфигурационном файле Apache необходимо прописать полный путь до папки, например так /var/www/sait/backend/www.

на опен сервере справился сам, на хостинге проблема
♫ Gorillaz
Feel Good Inc.
Loveorigami
Сообщения: 977
Зарегистрирован: 2014.08.27, 21:54

Re: Как настроить .htaccess?

Сообщение Loveorigami »

И теперь каждый их нас должен взять с гвоздика бубен и "нашаманить", в чем же там проблема-то?
Может это вопрос больше к хостингу?
goldwizard13
Сообщения: 8
Зарегистрирован: 2017.02.12, 13:05

Re: Как настроить .htaccess?

Сообщение goldwizard13 »

Loveorigami писал(а): 2017.02.12, 19:37 И теперь каждый их нас должен взять с гвоздика бубен и "нашаманить", в чем же там проблема-то?
Может это вопрос больше к хостингу?
нет не к хостингу, вот временное решение в корневом .htaccess

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

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# other requests add /frontend/www/$1
RewriteCond %{REQUEST_URI} !^/(frontend/www|backend/www|admin)
RewriteRule (.*) /frontend/www/$1

# if frontend request
RewriteCond %{REQUEST_URI} ^/frontend/www
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /frontend/www/index.php

плюс некоторые изменения в файле /frontend/www/.htaccess
но не все работает при поиске в ссылку вбивается frontend/www/

♫ Gorillaz
Feel Good Inc.
♫ Gorillaz
Feel Good Inc.
Loveorigami
Сообщения: 977
Зарегистрирован: 2014.08.27, 21:54

Re: Как настроить .htaccess?

Сообщение Loveorigami »

Почему Вы не хотите сразу домен указать на www?
Структура эта позаимствована с yii2-advanced.
Посмотрите решения для него.
Простейший вариант я порекомендовал выше - оба домена настроить на соответствующие папки www.
goldwizard13
Сообщения: 8
Зарегистрирован: 2017.02.12, 13:05

Re: Как настроить .htaccess?

Сообщение goldwizard13 »

Loveorigami писал(а): 2017.02.13, 21:45 Простейший вариант я порекомендовал выше - оба домена настроить на соответствующие папки www.
Подскажите пожалуйста поподробнее, ужу какой день мучаю эту проблему, вроде все настроил, и тут при восстановлении пароля ошибка

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

Неправильно набран адрес
    <body>
        <div class="container_404">
                        stream_set_blocking() expects parameter 1 to be resource, null given                        <p>Пожалуйста, перейдите на главную</p>
        </div>
    </body>
Непонимаю это ошибка .htaccess?
♫ Gorillaz
Feel Good Inc.
goldwizard13
Сообщения: 8
Зарегистрирован: 2017.02.12, 13:05

Re: Как настроить .htaccess?

Сообщение goldwizard13 »

в файле frontend/untime/application.error.log нашел запись

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

2017/02/25 18:12:57 [error] [php] stream_set_blocking() expects parameter 1 to be resource, null given (/var/www/user/data/www/домен/common/lib/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php:272)
Stack trace:
#0 (/var/www/user/data/www/домен/common/lib/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(115): Swift_Transport_StreamBuffer->initialize()
#1 (/var/www/user/data/www/домен/common/lib/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php(80): Swift_SmtpTransport->start()
#2 (/var/www/user/data/www/домен/common/extensions/mail/YiiMail.php(139): Swift_Mailer->send()
#3 (/var/www/user/data/www/домен/frontend/modules/user/controllers/actions/RecoveryAction.php(74): YiiMail->send()
#4 (/var/www/user/data/www/домен/common/lib/vendor/yiisoft/yii/framework/web/actions/CAction.php(76): RecoveryAction->run()
#5 (/var/www/user/data/www/домен/common/lib/vendor/yiisoft/yii/framework/web/CController.php(308): RecoveryAction->runWithParams()
#6 (/var/www/user/data/www/домен/common/lib/vendor/yiisoft/yii/framework/web/filters/CFilterChain.php(133): UserController->runAction()
#7 (/var/www/user/data/www/домен/common/lib/vendor/yiisoft/yii/framework/web/filters/CFilter.php(40): CFilterChain->run()
#8 (/var/www/user/data/www/домен/common/lib/vendor/yiisoft/yii/framework/web/CController.php(1145): CAccessControlFilter->filter()
#9 (/var/www/user/data/www/домен/common/lib/vendor/yiisoft/yii/framework/web/filters/CInlineFilter.php(58): UserController->filterAccessControl()
#10 (/var/www/user/data/www/домен/common/lib/vendor/yiisoft/yii/framework/web/filters/CFilterChain.php(130): CInlineFilter->filter()
#11 (/var/www/user/data/www/домен/common/lib/vendor/yiisoft/yii/framework/web/CController.php(291): CFilterChain->run()
#12 (/var/www/user/data/www/домен/common/lib/vendor/yiisoft/yii/framework/web/CController.php(265): UserController->runActionWithFilters()
#13 (/var/www/user/data/www/домен/common/lib/vendor/yiisoft/yii/framework/web/CWebApplication.php(282): UserController->run()
#14 (/var/www/user/data/www/домен/common/lib/vendor/yiisoft/yii/framework/web/CWebApplication.php(141): CWebApplication->runController()
#15 (/var/www/user/data/www/домен/common/lib/vendor/yiisoft/yii/framework/base/CApplication.php(180): CWebApplication->processRequest()
#16 /(/var/www/user/data/www/домен/frontend/www/index.php(62): CWebApplication->run()
REQUEST_URI=/frontend/www/recovery
Вот данная функция

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

 /**
     * Establishes a connection to a remote server.
     */
   private function _establishSocketConnection()
    {
        $host = $this->_params['host'];
        if (!empty($this->_params['protocol'])) {
            $host = $this->_params['protocol'] . '://' . $host;
        }
        $timeout = 15;
        if (!empty($this->_params['timeout'])) {
            $timeout = $this->_params['timeout'];
        }
        $options = array();
        if (!empty($this->_params['sourceIp'])) {
            $options['socket']['bindto']=$this->_params['sourceIp'].':0';
        }
        $this->_stream = @stream_socket_client($host.':'.$this->_params['port'], $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, stream_context_create($options));
        if (false === $this->_stream) {
            throw new Swift_TransportException(
                'Connection could not be established with host ' . $this->_params['host'] .
                ' [' . $errstr . ' #' . $errno . ']'
                );
        }
        if (!empty($this->_params['blocking'])) {
            stream_set_blocking($this->_stream, 1);
        } else {
            stream_set_blocking($this->_stream, 0);
        }
        stream_set_timeout($this->_stream, $timeout);
        $this->_in =& $this->_stream;
        $this->_out =& $this->_stream;
    }
♫ Gorillaz
Feel Good Inc.
slava1973
Сообщения: 1
Зарегистрирован: 2017.05.21, 12:29

Re: Как настроить .htaccess?

Сообщение slava1973 »

goldwizard13 если нашли решение , подскажите .
Ответить