добавить URL-адрес тщеславия в подтекст статьи - PullRequest
0 голосов
/ 13 января 2009

Итак, я использую подтекст 1.95 на IIS6 и .net 2.0 framework. То, что я хотел бы сделать, это создать красивый тщеславный URL для конкретной статьи, которая публикуется в системе подтекста. URL-адрес тщеславия должен выглядеть следующим образом: mydomain.com/blog/toc/, но статья с подтекстом, на которую он указывает, на самом деле имеет следующий путь: mydomain.com/blog/archive/2009/01/11/table-of -contents.aspx

Вероятно, я могу просто настроить переадресацию в IIS для этого, но я ищу более элегантное решение, которое не требует каких-либо пользовательских конфигураций IIS, подобных этому. Я также хотел бы воздержаться от изменения какого-либо основного кода подтекста, чтобы оставить для себя путь обновления.

Является ли лучшим решением просто поместить файл default.aspx в папку / toc / и перевести эту страницу на длинный путь?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 15 января 2010

Обратите внимание, это относится к подтексту 2.1.2 и ниже

Соответствие URL обрабатывается в Web.config. Вы можете найти строку, которая выглядит следующим образом:

<HttpHandler pattern="(?:/archive/\d{4}/\d{2}/\d{2}/[-_,+\.\w]+\.aspx)$" controls="viewpost.ascx,Comments.ascx,PostComment.ascx"/>

И поменяйте здесь регулярное выражение. К сожалению, подтекст будет продолжать генерировать старые ссылки. В грядущем подтексте 2.5 ситуация немного улучшится.

Еще одна проблема заключается в том, что в IIS 6, если каталог / toc / физически не существует, IIS не будет передавать запрос в ASP.NET, поэтому вам нужно использовать сопоставление с подстановочными знаками, чтобы фактически выполнить эту работу.

На данный момент, я думаю, вам может понадобиться сделать это через какой-то фильтр isapi перезаписи URL в IIS, чтобы достичь именно того, что вы хотите.

0 голосов
/ 20 января 2010

Спасибо за информацию Фил.

В итоге я просто создал папку / toc / и получил файл default.aspx, который перенаправляет на статью блога. Это, вероятно, самое простое решение, и его внедрение заняло у меня всего минуту.

...