Как я могу создать постоянный URL-адрес тщеславия в DotNetNuke? - PullRequest
3 голосов
/ 09 октября 2010

Мне не известно о решении для реализации пользовательских постоянных URL-адресов тщеславия (мой термин, не уверен, так ли это на самом деле) в DotNetNuke.Кто-нибудь знает решение?Это может быть настройка ядра, использование стороннего модуля или предложение, как написать его с нуля.

Вот что я думаю:

  1. Я хочууказать людям: http://mywebsite.com/awesome
  2. Я хочу, чтобы базовый URL был http://mywebsite.com/genericpage.aspx?key=awesome&etc=etc
  3. Я не хочу, чтобы URL перенаправлял.Я хочу, чтобы пользователь видел только http://mywebsite.com/awesome.

По сути, я бы хотел, чтобы администратор мог создавать эти URL-адреса тщеславия и указывать, что такое URL-адрес тщеславия и какой основной URL-адрес.

Ответы [ 2 ]

3 голосов
/ 09 октября 2010

Самое близкое, из коробки, определение ваших дружественных URL-адресов в SiteUrls.config , найденном в корне DotNetNuke.

Таким образом:

  1. вы указываете людям: http://mywebsite.com/awesome.aspx
  2. у вас есть базовый URL http://mywebsite.com/Default.aspx?tabid=ID&etc=etc
  3. пользователи видят: http://mywebsite.com/awesome.aspx

Основным ограничением является то, что у вас будет расширение .aspx.

Правила SiteUrl.config выглядят так:

<RewriterRule>
    <LookFor>.*/awesome.aspx</LookFor>
    <SendTo>~/default.aspx?tabid=ID&amp;etc=etc</SendTo>
</RewriterRule>

Правило перезаписи сопоставляет входящий URL-адрес с регулярным выражением в разделе LookFor и отправляет его на базовый URL-адрес в разделе SendTo. Вы должны быть осторожны с escape-символом XML '&' в параметрах строки запроса.

Сторонние расширения, такие как URL Master , обеспечивают гораздо более детальный контроль, и вы можете иметь глобальную дружественную схему URL, основанную на именах страниц, с расширениями .aspx или без них. Тем не менее, простой подход «один URL за раз» может быть более безопасным, если у вас есть пользовательские модули с зависимостями URL.

0 голосов
/ 09 октября 2010

ActiveSocial поддерживает их, и мне показалось, что я видел кое-что о поддержке этого в версии 2.x URL-адреса IFinity, но сейчас я ничего не могу найти по нему.

...