Livestreet и IIS

Для работы Livestreet на IIS нужно всего две вещи:
  • настроить URL Rewrite, т.к. IIS не понимает файлов .htaccess
  • отредактировать файл ActionTag.class.php чтобы LS мог искать по русским тегам

Для настройки URL Rewrite в IIS Manager'е:
  • выбираем директорию с LS в левом дереве(если в корне просто выбираем сайт)
  • жмём URL Rewrite
  • Import rules...
  • выбираем .htaccess, который идёт в комплекте c LS
  • Import
После этого в директории с LS создастся файл web.config, следующего содержания:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Imported Rule 1">
                    <match url="^(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="./index.php" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

можете скачать готовый web.config и поместить его в директорию с LS(если у вас два LS в разных директориях, например: один в корне, а другой в ls/, и вы поместите два web.config'а в обе директории — работать скорее всего не будет(по крайней мере у меня так не заработало). Почему? — Не знаю, но по-видимому надо как-то хитрее настраивать)

Теперь LS можно устанавливать. Будет работать всё кроме русских тегов, т.к. они передаются не в UTF-8, а в windows-1251.

Для починки тегов нужно изменить файл /classes/actions/ActionTag.class.php
находим 54 строку:
$sTag=$this->sCurrentEvent;

и меняем на
$sTag=iconv('windows-1251', 'UTF-8', $this->sCurrentEvent);

можете скачать готовый ActionTag.class.php
Учтите, что всё вышесказанное работает на LiveStreet версии 0.4.2. В других версиях номер строки может отличаться.

Небольшой совет для тех, у кого нет возможности ставить sphinx(он необходим для поиска, если кто ещё не знает) — ставьте aceMySearch. Хотя это не единственный плагин для поиска — можете и другие попробовать.

5 комментариев

avatar
  • it_
  • 0
avatar
Добрый день! Так и не смог избавиться от проблемы с русскими тегами karmaplus.ru/tag/дизайн/

Уже голову сломал пытаясь найти решение. Буду благодарен любой помощи в решении.
avatar
какая версия LS?
avatar
LiveStreet 0.5.1
avatar
У кого нибудь еще была подобная проблема с LiveStreet 0.5.1?
Проблема с русскими тегами.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.