Блог вопиющего в пустыне
Поисковый запрос в интернете выдал однотипные рекомендации: либо через модуль переопределения URL-адресов (URL Rewrite), либо через файл web.config. Попробовал и так, и эдак. Не прокатило. Попробовал "Импортировать правила через mod-rewrite" из .htaccess в web.config с последующим удалением в web.config строк с ошибками. Та же "хрень". Потом, копаясь где-то на "задворках" инета (не помню уже на каком портале) нашел подсказку, что надо ещё прописывать человеко-понятные URL-ы в файле urlrewrite.php. "Короче, Склифосовский", - теперь всё по порядку.
Устанавливаем модуль переопределения URL-адресов (URL Rewrite) и настраиваем в нём ЧПУ
Скачать его можно с портала Microsoft по адресу: https://www.iis.net/downloads/microsoft/url-rewrite. Если не получится скачать, можете взять отсюда: 32-битный или 64-битный. Устанавливаем. Заходим в Диспетчер служб IIS и запускаем "Переопределение URL-адресов".
В меню "Действие" - "Добавить правила" - "Правило для входящего трафика" выбрать "Пустое правило" - ОК
Заполняем форму, как показано на рисунке, после чего "Применить":
В модуле появилось наше правило "bitrix rewrite URL":
Если нет желания заморачиваться с модулем переопределения URL-адресов, можете сделать то же самое через web.config
В корне Вашего сайта в текстовом редакторе открыть файл web.config. В раздел <system.webServer> добавляем подраздел <rewrite> отвечающий за переопределение URL-адресов, и в котором содержится функция "bitrix rewrite URL":
<configuration>
<system.webServer>
...........
<rewrite>
<rules>
<clear />
<rule name="bitrix rewrite URL" enabled="true" stopProcessing="false">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" pattern="/bitrix/urlrewrite.php$" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="/bitrix/urlrewrite.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
В корне Вашего сайта в текстовом редакторе открыть файл urlrewrite.php. Если его нет, то создать.
В файл вставить строки по аналогии с приведенными ниже. Названия подразделов (например, /podgotovka-dokumentacii-o-zakupke/) необходимо копировать из строки "Символьный код", который генерировался при создании данной странички. Хотя, названия подразделов можно вообще не указывать, срабатывает и так: 'CONDITION' => '#^/services/#'.
$arUrlRewrite=array (
0 =>
array (
'CONDITION' => '#^/services/podgotovka-dokumentacii-o-zakupke/#',
'RULE' => '',
'ID' => 'bitrix:news',
'PATH' => '/services/index.php',
'SORT' => 100,
),
1 =>
array (
'CONDITION' => '#^/services/zajavki-zakupki/#',
'RULE' => '',
'ID' => 'bitrix:news',
'PATH' => '/services/index.php',
'SORT' => 100,
),
2 =>
array (
'CONDITION' => '#^/services/provedenie-torgov/#',
'RULE' => '',
'ID' => 'bitrix:news',
'PATH' => '/services/index.php',
'SORT' => 100,
),
3 =>
array (
'CONDITION' => '#^/services/zakupki-i-kontrolno-schetnaya-palata-bryanskoy-oblasti/#',
'RULE' => '',
'ID' => 'bitrix:news',
'PATH' => '/services/index.php',
'SORT' => 100,
),
4 =>
array (
'CONDITION' => '#^/it-help/vba-excel-word/#',
'RULE' => '',
'ID' => 'bitrix:news',
'PATH' => '/it-help/index.php',
'SORT' => 100,
),
5 =>
array (
'CONDITION' => '#^/it-help/razrabotka-sajta/#',
'RULE' => '',
'ID' => 'bitrix:news',
'PATH' => '/it-help/index.php',
'SORT' => 100,
),
6 =>
array (
'CONDITION' => '#^/it-help/komputer-doktor/#',
'RULE' => '',
'ID' => 'bitrix:news',
'PATH' => '/it-help/index.php',
'SORT' => 100,
),
7 =>
array (
'CONDITION' => '#^/it-help/sistemnomu-administratoru/#',
'RULE' => '',
'ID' => 'bitrix:news',
'PATH' => '/it-help/index.php',
'SORT' => 100,
),
8 =>
array (
'CONDITION' => '#^/it-help/sql-server/#',
'RULE' => '',
'ID' => 'bitrix:news',
'PATH' => '/it-help/index.php',
'SORT' => 100,
),
9 =>
array (
'CONDITION' => '#^/blog/#',
'RULE' => '',
'ID' => 'bitrix:news',
'PATH' => '/blog/index.php',
'SORT' => 100,
),
);
?>
Внимание! Файл urlrewrite.php должен находиться в корне Вашего сайта, несмотря на то, что в web.config-е и соответственно в модуле переопределения URL-адресов обозначена директория /bitrix/urlrewrite.php.
- Комментарии



