Дружественные URL в DotNetNuke - Устранение неполадок - PullRequest
1 голос
/ 16 августа 2011

В DNN я использую Настройки хоста -> Настройки дружественных URL, чтобы попытаться сделать URL страницы оптимизированным для SEO.Но я продолжаю получать ошибку, и я не знаю почему.

Текущий формат URL:

http://localhost/dnn/Admin/MyPage.aspx?title=news-article-name-written-here

Требуемый формат URL:

http://localhost/dnn/Admin/MyPage/news-article-name-written-here

Правило «Настройки дружественных URL»:

MATCH:  .*/MyPage/(.*) REPLACE WITH:  ~/Admin/MyPage.aspx?title=$1

Ошибка:

Ошибка сервера в приложении "ВЕБ-САЙТ ПО УМОЛЧАНИЮ / DNN"

Службы IIS 7.5 Сводка ошибок Ошибка HTTP 404.0 - не найдена

Ресурс, который вы ищетебыл удален, изменилось его имя или временно недоступен.

В качестве примечания, я не заинтересован в покупке каких-либо специализированных модулей DNN для этого (или в использовании бесплатного iFinity),Есть идеи, что я могу делать не так?Или, если по какой-то причине это невозможно, кто-нибудь может объяснить, почему?

Большое спасибо заранее!

1 Ответ

3 голосов
/ 17 августа 2011

Хорошо, решил это - как оказалось, вы не можете удалить расширения файлов с помощью DNN Url Rewriter по умолчанию.Вот что я сделал вместо этого:

  1. Установил расширение urlrewrite на моем IIS (http://www.iis.net/download/urlrewrite)
  2. Добавил следующий фрагмент кода в тег <system.webServer> веб-сайта dnn.config:

<rewrite><rules><rule name="UrlRewriteService" stopProcessing="true"><match url="^.*/MyPage/(.*)$"/><action type="Rewrite" url="Admin/MyPage.aspx?title={R:1}" /></rule></rules></rewrite>

Надеюсь, это поможет кому-то еще!

...