Code Snippets: Веб-доступ и приятный URL объектов

13 2

Я отношусь к той категории пользователей, которые, при работе с сайтами, смотрят в строку адреса и считаю, что она должа быть понятнее и проще. За все время пользования веб-клиентом DIRECTUM я так и не привык к ней.

Исправить ситуацию поможет сервер IIS с предустановленным модулем URL Rewrite, который поможет настроить правила перенаправления и подстановки до достижения так называемого Clean URL.

Свои правила он сохраняет в Web.config под тегом rewrite. К примеру для себя я настроил следующий правила подстановки:


  
  
    
    
  
  


  
  
    
    
  
  

Которые позволяют мне обращаться к справочникам по следующим форматам адреса:

//Отображение списка записей справочника
https://{Адрес веб-доступа}/References/{Имя справочника}
//Отображение записи справочника
https://{Адрес веб-доступа}/References/{Имя справочника}/{ИД Записи}

Таже можно и настроить перенаправление со старого формата адреса на более читаемый:


  
  
    
    
  
  


  
  
    
    
  
  

По аналогии с этими примерами можно настроить правила и для других объектов DIRECTUM.
Для достижения "кристальной чистоты" строки адреса, при редиректе можно отключить наследование строки запроса,  но делать это рекоммендую, только если вы уверенны в том что учли всё.

 

13
Авторизуйтесь, чтобы оценить материал.
1
Михаил Тарасов

А ссылки на справочники в теле html документа тоже подменяются перед отправкой на клиента?
А если переход в js на старую ссылку произойдет?
Или там просто редирект со старого адреса на новый? Хотя, это должно вызвать зацикливание?

Я не вкурсе, как работает этот механизм в IIS, поэтому такие глупые вопросы...

 

Mikhail Kislitsyn

Первое: Это подмена чтобы с /References/РАБ открывало справочник Работники (без редиректа!)
Второе: Это редирект со старого адреса на /References/РАБ (который в первом пункте подменяется)

Все правила выполняются в порядке следования и имеют признак stopProcessing, что значит если правило сработало, то дальше не продолжать обработку.

Ссылки в HTML не подменяются, смысла нет, но можно сделать в Outgoing-правилах, но это лишнаяя нагрузка на сервер.

Я не вкурсе, как работает этот механизм в IIS

Примерно так же как и htaccess в Apache smiley

Авторизуйтесь, чтобы написать комментарий