Как правильно расположить сайт в домене третьего уровня?

Главные вкладки

Аватар пользователя Terix Terix 29 апреля 2011 в 11:37

Ситуация в общем такая. Сайт отзывается по адресу new.example.com . Находится в директории new. Работает нормально, но при создании новых материалов в админке после нажатия кнопки save перебрасывает на адрес new.example.com/new/add/<тип материала> .
Как это побороть?

Комментарии

Аватар пользователя ZanaDLucTyc ZanaDLucTyc 29 апреля 2011 в 12:52

Обычно для сайта на поддомене хостер предоставляет отдельную папку. К примеру, так обычно выглядит у хостера служебная директория с вашими сайтами:

/example.com
/subdomain.example.com
...
/example.ru

А у вас что - поддомены на хостинге реализуются в виде одноименных поддиректорий в директории с самим доменом? Вообще нифига не понял. Smile

Аватар пользователя Виктор Степаньков ака RxB Виктор Степаньк... 29 апреля 2011 в 13:03

"ZanaDLucTyc" wrote:
так обычно выглядит у хостера служебная директория с вашими сайтами:

Это на патруле чистота у порядок, у большинства это выглядит так:

misc
includes
/subdomain.example.com
/example.ru

sites
.htaccess
index.php
Аватар пользователя Terix Terix 5 мая 2011 в 17:42

Итак, к чему мы пришли.
Капитан Очевидность утверждает, что по нажатию кнопки save происходит сабмит формы, то есть отправление POST запроса по адресу, указанному в атрибуте action.
В котором естественно указано /new/add/<тип материала>. Значение атрибута action берется в том числе из функции request_uri, которая находится в файле includes/bootstrap.inc .
Если Drupal работает под Апачем, то функция берёт значение из глобальной переменной $_SERVER['REQUEST_URI'], в которую почему - то попадает директория new, где собственно и лежит сайт.
Текущее решение - добавить в эту функцию проверку, есть ли new в начале строки $uri и вырезание new, если это действительно так:

if (stripos($uri,'/new') === 0)
          $uri = substr($uri,4);

Теперь вопросы.

1. Можно ли переопределить REQUEST_URI прямо в .htaccess?
2. Можно ли переопределить функцию request_uri, не залезая в ядро?