2015-10-29 4 views
0

CakePHP 3 и SubdomainCakePHP 3 и Subdomain

У меня есть CakePHP приложение 3 внутри корня моего сервера и нужно создать субдомен, что это также идет в тот же корень с тортом.

пример:

бин

конфигурации

ЦСИ

...

магазин (Поддомен)

Как есть торт в моем корне это делает не разрешать доступ к поддомию. Что я могу сделать, чтобы обойти эту проблему?

ответ

-1

Я думаю, что лучший подход заключается в том, чтобы настроить VirtualHost, я предполагаю, что вы используете Apache, так что папка магазина не является частью корня сервера. Здесь вы можете посмотреть, как это сделать:

  1. Переместить папку магазина в наружный корень Apache, чтобы она не была частью основного веб-сайта. Если он находится в/var/www/html/shop, переместите его в/var/www/
  2. Добавить файл VirtualHost в Apache httpd.conf или добавить его как shop.conf в/etc/apache2/sites-available/предполагается ваш сервер Ubuntu 14.04, вы должны знать, где сохранить файл в соответствии с вашим дистрибутивом.

    # Директива ServerName устанавливает схему запроса, имя хоста и порт, который # сервер использует для идентификации себя. Это используется при создании URL-адресов перенаправления #. В контексте виртуальных хостов имя_сервера # указывает, какое имя хоста должно появиться в заголовке Хоста: запрос # соответствует этому виртуальному хосту. Для виртуального хоста по умолчанию (этот файл) это значение # не имеет решающего значения, поскольку оно используется в качестве конечного хоста независимо от него. # Однако вы должны установить его для любого другого виртуального хоста явно. ServerName shop.local ServerAlias ​​shop.local

    ServerAdmin [email protected] 
        DocumentRoot /var/www/shop/  
    
        ErrorLog ${APACHE_LOG_DIR}/error.log 
        CustomLog ${APACHE_LOG_DIR}/access.log combined 
    
        # For most configuration files from conf-available/, which are 
        # enabled or disabled at a global level, it is possible to 
        # include a line for only one particular virtual host. For example the 
        # following line enables the CGI configuration for this host only 
        # after it has been globally disabled with "a2disconf". 
        #Include conf-available/serve-cgi-bin.conf 
    

  3. Дополнительно: Редактировать/и т.д./хост файл, так что вы можете достичь нового поддомена, если он находится в VM О, вы не можете решить это с вашего компьютера:

    192.168.100.14 shop.local # Изменения IP-вашего IP Сервер

  4. Включить сайт в Apache (в Ubuntu вам нужно выполнить: Суд a2ensite shop.lo cal) и перезапустить Apache Server.

См. CakePHP 2.x virtual host file for Apache2 для справки.

+1

Хотя эта ссылка может ответить на вопрос, лучше включить основные части ответа здесь и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. – Richard

+0

Полностью согласен, я добавил предложения в свой первоначальный ответ –

0

Потому что соглашение о файлах cakephp иногда сложно получить результат, который вы хотите.

Исправьте меня, если я ошибаюсь. Ваша ситуация выглядит так?

www.maindomain.com, которым управляет «src». Но вы хотите, чтобы sub.maindomain.com использовал другие файлы вне структуры файла cakephp

Я думаю, что это слишком много усилий для работы вне соглашения о файлах. Я думаю, что это проблема «.htaccess» и «виртуальные хосты».

Я нашел ссылку, которая может быть, вы можете помочь вам «CakePHP subdomains with htaccess»

UPDATE: Также имейте в виду вопрос папок разрешения при попытке исправить это.