0

したがって、IIS6 および .net 2.0 フレームワークでサブテキスト 1.95 を実行しています。私がやりたいのは、サブテキスト システム内で公開されている特定の記事への素敵なバニティ URL を作成することです。バニティ URL は次のようになります: mydomain.com/blog/toc/ ですが、それが指しているサブテキスト記事には、実際には次のようなパスがあります: mydomain.com/blog/archive/2009/01/11/table-of -contents.aspx

これを行うには、おそらく IIS 内で転送をセットアップするだけで済みますが、そのようなカスタム IIS 構成を必要としない、より洗練されたソリューションを探しています。また、サブテキストのコア コードを変更することも控えたいと思います。アップグレード パスを自分自身に残すためです。

/toc/ フォルダー内に default.aspx ファイルを配置し、そのページを長いパスに転送するのが最善の解決策ですか?

前もって感謝します!

4

2 に答える 2

2

これはサブテキスト 2.1.2 以下に適用されることに注意してください。

URL の一致は Web.config で処理されます。次のような行を検索できます。

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

そこで正規表現を変更します。残念ながら、Subtext は引き続き古いリンクを生成します。次のサブテキスト 2.5 では、状況がわずかに改善されます。

もう 1 つの問題は、IIS 6 では、/toc/ ディレクトリが物理的に存在しない限り、IIS は要求を ASP.NET に渡さないため、ワイルドカード マッピングを使用して実際に機能させる必要があることです。

今のところ、IIS のある種の URL 書き換え isapi フィルターを介してこれを行う必要があると思います。

于 2010-01-15T06:25:43.520 に答える
0

フィルさん、情報ありがとうございます。

最終的に /toc/ フォルダーを作成し、ブログ記事にリダイレクトする default.aspx ファイルを作成しました。これはおそらく最も簡単な解決策であり、実装に 1 分しかかかりませんでした。

于 2010-01-20T14:04:21.097 に答える