Переписать URL для DNN - PullRequest
       8

Переписать URL для DNN

1 голос
/ 23 апреля 2010

У меня есть сайт, и я уже пытаюсь немного переписать URL, но хочу знать, есть ли решение, чтобы сделать его лучше

URL моего текущего состояния выглядят так

http://snit.us/Home/tabid/314/CN/1/RE/23/United_States_Missouri.aspx

Я хочу изменить их на что-то более упорядоченное, поэтому в моей новой схеме я хочу сделать это

http://snit.us/Home/United_States/Missouri/default.aspx

очевидно, дело в том, что если я удалю Миссури из нового URL, он найдет все United_States и т. Д.

еще лучше было бы иметь http://snit.us/Home/United_States/Missouri, поэтому его еще меньше загромождать

1 Ответ

0 голосов
/ 25 апреля 2010

Думаю, вам лучше всего внедрить бесплатную iFinity URL Rewriter для DotNetNuke. По крайней мере, вы должны быть в состоянии достичь следующего:

http://snit.us/Home/CN/1/RE/23/United_States_Missouri

Если вы используете IIS 6, вам нужно включить URL-адреса без расширений в IIS. Если вы используете IIS 7, вам не нужно вносить какие-либо изменения.

Чтобы настроить его, вам просто нужно добавить DLL, которую iFinity предоставляет в каталог bin вашего сайта, и затем следовать инструкциям, прилагаемым к загрузке, для настройки вашего web.config (обязательно сделайте резервную копию ваш web.config для безопасности и удобства).

Вот пример конфигурации, которую мы используем на dnnGallery.net :

<add name="Ifinity.FriendlyUrl" type="iFinity.DNN.Modules.FriendlyUrl.DNNFriendlyUrlProvider, iFinity.FriendlyUrlProvider" includePageName="true" regexMatch="[^\+a-zA-Z0-9 _-]" urlFormat="HumanFriendly" redirectUnfriendly="true" doNotRewriteRegex="(\.axd)|(/DesktopModules/)" doNotRedirect="SearchResults;" doNotRedirectRegex="[.]*(/logoff.aspx)" pageExtensionUsage="never" parameterHandling="ordered" checkForDupUrls="true" forceLowerCase="true" redirectWrongCase="false" replaceSpaceWith="_" redirectDefaultPath="true" />
...