Введение в RealURL: часть 2
Конфигурация домена
Конфигурация домена состоит из нескольких секций:
- init
Описывает общие параметры сайта (такие как добавлять ли косую черту в конце адреса автоматически, использовать ли cHash и т.д.) - preVars
Описывает сегменты, которые идут в адресе перед путём к странице - fixedPostVars
Описывает "жёсткие" сегменты, обычно привязанные к конкретной странице - postVarSets
Описывает сегменты–параметры. Обычно используется для конфигурации расширений - pagePath
Описывает метод для преобразования номера страницы в путь - fileName
Используется для специальный конфигураций (например, для создания /rss.xml и подобных специальных адресов)
Если Вы внимательно читали первую часть, то некоторые секции покажется Вам знакомыми.
Рассмотрим каждую секцию по отдельности.
Секция init
В секции init располагаются директивы общего характера. Они определяют поведение RealURL для сайта. Правильное использование этих директив позволяет оптимизировать и ускорить работу RealURL.
Рассмотрим некоторые из директив.
enableCHashCache
enableCHashCache разрешает использование cHash. Обработка cHash – длительное занятие, оно отрицательно сказывается на производительности сайта. Если сайт состоит из статических страниц (не использует расширения с параметрами в URL), то эту директиву надо выставить в false. Если расширения используются, то надо выставить в true. Пример:
'init' => array(
'enableCHashCache' => true
)
appendMissingSlash
appendMissingSlash заставляет RealURL проверять, что адреса страниц заканчиваются на косую черту. Почему это важно?
Часто ссылки на сайт ставят ввиде /path/to/page вместо /path/to/page/. Разница только в отсутствии косой черты в первом случае. Однако первый адрес не является для RealURL правильным. Для компенсации таких неправильных адресов (добавления косой черты в конец) и используется эта директива. Исторически так сложилось, что использование этой директивы без дополнительных параметров приводит к появлению так называемого duplicate content (дубликат страницы) и плохо сказывается на позиционировании сайта в поисковиках. RealURL может компенсировать и это при использовании параметров.
Директива имеет два возможных параметр
- ifNotFile
Перенаправлять на другой адрес только если адрес стнаицы не заканчивается именем файла. Таким образом, /path/to/page будет исправлен, а path/to/page.html – нет. - redirect
Без этой директивы RealURL сделает только внутреннее преобразование, что приводит к duplicate content. При использовании этого параметра RealURL посылает специально сформированный ответ, содержащий правильный адрес страницы. Параметр может содержать HTTP–код ответа в квадратных скобках.
Рекомендованное значение директивы показано в примере:
'init' => array(
'appendMissingSlash' => 'ifNotFile,redirect[301]'
)
enableUrlDecodeCache и enableUrlEncodeCache
Эти два параметра определяют будет ли RealURL сохранять сгеренированные пути к странице в базе данных для быстрого их нахождения в будущем. Когда сайт только создаётся, рекомендуется эти параметры выставить в false, чтобы не засорять кэш. Перед публикацией сайта эти параметры надо выставить в true.
Секция pagePath
Исторически так сложилось, что эта секция выглядит примерно одинаково на всех сайтах. Обычно её просто копируют из одного сайта в другой. Вот типичный пример такой секции:
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'rootpage_id' => 1,
'spaceCharacter' => '-'
)
Единственным меняемым параметром тут является rootpage_id. Этот параметр указывает на первую страницу сайта. Если этот параметр выставлен неверно, RealURL будет определять пути неправильно.
Продожение следует
В следующих статьях мы рассмотрим прочие секции конфигурации, а также приёмы, позволяющие более эффективно использовать RealURL.