Хостинг и регистрация доменов

Чат онлайн
→  Хостинг →  Регистрация доменов →  VPS / VDS →  Выделенные сервера →  FAQ →  Форум →  Контакты →  Техподдержка

Можно ли изменить корневую папку сайта с www на другую?

Хостинг УкраинаFAQХостинг Можно ли изменить корневую папку сайта с www на другую?
1. Если Вам нужно разместить свой сайт не в корневой папке www, а например в папке www/ru/, то Вам необходимо создать файл index.php со следующим содержимым:
<?php
require_once("ru/index.php");
?>
где "ru/index.php" это путь к исполнительному файлу вашего сайта. Созданный Вами файл, положите в корень папки www и выставьте на него права 750.
Так же нужно обязательно выставить в настройках php ваших сайтов параметр open_basedir на уровень выше для доступа к другим папкам сайта.
 
2. В некоторых фраемворках требуется, чтобы основная папка сайта, где лежит индексный файл, была отличная от www. К примеру, Zend Framework - здесь требуется явное указание основной директории сайта public. Обойти это можно, создав в корне сайта (в папке www) файл .htaccess с таким содержимым:
DirectoryIndex /public/index.php

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -f

RewriteRule ^(.+) $1 [L]

RewriteCond %{DOCUMENT_ROOT}/public%{REQUEST_URI} -f

RewriteRule ^(.+) /public/$1 [L]
Для Symfony2 framework такая схема почему то не подходит. Работает только главная страница, а остальные - нет. В Symfony вместо папки public используется папка web. Пробовал прописывать следующие правила:

DirectoryIndex /web/index.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+) $1 [L]
RewriteCond %{DOCUMENT_ROOT}/web%{REQUEST_URI} -f
RewriteRule ^(.+) /web/$1 [L]
Написал bocharsky.bw 04.01.2014 в 13:10 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
также вместо index.php должен быть app.php, т.е.

DirectoryIndex /web/app.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+) $1 [L]
RewriteCond %{DOCUMENT_ROOT}/web%{REQUEST_URI} -f
RewriteRule ^(.+) /web/$1 [L]

но все равно работает только главная
Написал bocharsky.bw 04.01.2014 в 13:14 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
Для того чтобы в Symfony 2 убрать поддиректорию web в адресе, нужно в корневом htaccess прописать следующий код:

DirectoryIndex /web/app.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+) $1 [L]
RewriteCond %{DOCUMENT_ROOT}/web%{REQUEST_URI} -f
RewriteRule ^(.+) /web/$1 [L]

Options +SymLinksIfOwnerMatch
RewriteRule ^(.*)$ /web/ [QSA,L]
Написал bocharsky.bw 04.01.2014 в 13:57 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
Пытаюсь использовать
DirectoryIndex /web/app.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+) $1 [L]
RewriteCond %{DOCUMENT_ROOT}/web%{REQUEST_URI} -f
RewriteRule ^(.+) /web/$1 [L]
для движка Yii. Такая же проблема, что работает только главная страница.

Этот код

Options +SymLinksIfOwnerMatch
RewriteRule ^(.*)$ /web/ [QSA,L]
выдает ошибку сервера.
Написал tehnostok 17.09.2014 в 14:05 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
У меня так и не получилось решить проблему, потому пришлось содержимое папки public разместить в одном каталоге с ядром.
В службе поддержки написали: "Есть только вариант что сайт будет работать с папки /domain.com/www/public/ как и Вы его настроили, по другому корневую папку сменить не возможно"
Но если кто нибудь, все таки найдет решение, буду благодарен.
Написал shybkoartem 16.10.2014 в 19:50 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
А если использовать symlink на нужную папку? И открыть доступ PHP ко всем папам уровнем ниже?
Написал Илья 21.10.2014 в 20:18 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
Для тих хто хоче поставити Laravel 5. На даний момент є таке рішення:
1. В корінному каталозі створити .htaccess з таким вмістом
RewriteEngine On
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^ public/index.php [L]

2. Далі в htaccess файлі, що знаходиться в папці public закоментувати Options -MultiViews

В мене працює
Написал balex70 09.12.2014 в 18:07 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
Для Laravel 5. В www .htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Фреймворк так же кидал в www.
В .htaccess public убрал Options -MultiViews.
Написал wolf40000 25.02.2015 в 13:44 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
Ага работает без Options -MultiViews
Написал grand.glory 18.09.2015 в 17:47 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
Для тех кто не может настроить Framework Symfony2:
1. В папке www создаем .htaccess и пишем в него:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/web/.*$
RewriteRule ^(.*)$ /web/$1 [QSA,L]

2: В папке web находим .htaccess(который поставляется с symfony2) и комментируем строчку
Options -MultiViews
3. После этого всё должно работать нормально.
Написал lyashenkonik 03.04.2015 в 09:37 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
https://github.com/ilopX/yii2-basic-htaccess
Для коханців з Yii2. І куріть бамбук
Написал kirill.holodyuk 14.04.2016 в 23:47 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором
Для Zend Framework 2 мне помог такой вариант:

RewriteEngine on
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]
Написал devphp 18.11.2016 в 22:55 Ответить
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором

Добавить комментарий
Имя:
E-mail:

Обновить картинку
Ваш комментарий будет добавлен после проверки администратором.
Внимание! Чтобы ответить на существующий комментарий, пожалуйста, нажмите на кнопку Ответить, которая находится под соответствующим комментарием.

Другие полезные статьи:

Горячая линия
(044) 392 74 33 другие города
Copyright © 2006—2017 ООО "Хостинг «Украина»"

Все материалы данного сайта являются объектами авторского права.
Запрещается копирование, распространение или любое иное использование информации и объектов без письменного согласия правообладателя.
Нашли опечатку на странице - выделите ее и нажмите Ctrl+Enter
Идёт обновление информации, подождите...