2017-07-26 6 views
1

ブログのURL形式を変更しようとするとSEOの面白いカテゴリにするためのガイダンスがあります。 [ドメイン]/[BLOGNAME]/[カテゴリ]SitefinityブログのURL形式

私がしました:私は、私たちのブログのカテゴリのURLを持ってしようとしています

ISSUE は

https://example.com/blog/-in-category/categories/automotive
https://example.com/blog/automotive

へのフォーマットから変更しましたカスタムブログプロバイダを追加し、上記の形式でカテゴリにアクセスできますが、階層ウィジェットは元のURLを表示します。 ウィジェットのURLを正しいフォーマットに更新したアウトバウンド書き換えルールを追加しましたが、Sitefinityバックエンドが破棄されました(ページ、ブログ投稿コンテンツにアクセスできない)。 404

通じScriptresource.axdとWebresource.axdここでアウトバインドルール..ですバックエンドから

<outboundRules> 
       <rule name="Cat Rewrite Rule"> 
        <match filterByTags="A" pattern="/blog/-in-category/categories/([^$]+)" /> 
        <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> 
      <add input="{URL}" pattern="\.axd" negate="true" /> 
      </conditions> 

       <action type="Rewrite" value="/blog/{R:1}" /> 

       </rule> 

       <preConditions> 
       <preCondition name="IsHtml"> 
        <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html"/> 
       </preCondition> 
       </preConditions> 
</outboundRules> 

エラーページにアクセスしようとしている:

Error From Backend When trying to access pages/blog/events etc

ますカスタムブログ分類学者の評価者は、私が達成するために必要なものを解決します(私はどのようにすればよいか分かりません)。

ありがとうございました!

私はおそらく、このシナリオを処理する2つのカスタムMVCのウィジェット作成します

答えて

3

あなたの場合、問題は前提条件を忘れたことです。実施例は:

<outboundRules> 
    <rule name="Cat Rewrite Rule" preCondition="IsHtml"> 
     <match filterByTags="A" pattern="/blog/-in-category/categories/([^$]+)" /> 
     <action type="Rewrite" value="/blog/{R:1}" /> 
    </rule> 
    <preConditions> 
     <preCondition name="IsHtml"> 
       <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html"/> 
     </preCondition> 
    </preConditions> 
</outboundRules> 

P.S.しかし私は@Veselin Vasilevに完全に同意しています。より洗練されたアプローチはカスタムウィジェットを構築することです。

ブログ:https://github.com/Sitefinity/feather-widgets/tree/master/Telerik.Sitefinity.Frontend.Blogs

タクソノミ:https://github.com/Sitefinity/feather-widgets/tree/master/Telerik.Sitefinity.Frontend.Taxonomies

+0

おかげ

あなたはここに内蔵されたウィジェットのソースコードを見つけることができます!私のルールに(preCondition = "IsHtml")が追加され、それが機能しました。ありがとう。 –

2

:例えば、すべてのカテゴリを取得し、必要なフォーマットを使用してリンクをレンダリングするものであろう

ファーストをBlogCategoriesウィジェット。 "/ blog/[category]"のようなリンクを持つカテゴリのリストを生成するだけです

2番目のウィジェットはカテゴリをパラメータとして持つブログリストコントローラになります。そのカテゴリを持っている。

これはちょっとした作業ですが、私が思うようにURLを書き換えるルールよりもはるかにクリーンです。

関連する問題