0

URL のリストを表示するために使用される次のコードがあります。

<reddot:cms>
                                                  <foreach itemname="childPages" object="Context:Indexes.GetIndexByPageId(Guid:021743AA8509473C9615A4BA5C2BAC32).SubIndexes" countername="pageCounter">
                                                    <htmltext><dd><a href="<%!! Store:childPages.GetUrl(Bool:True)  !!%>"><%!! Store:childPages.Headline !!%></a></dd></htmltext>
                                                  </foreach>
 </reddot:cms>

<%!! からクリーンな URL を返したい Store:childPages.GetUrl(Bool:True) !!%> したがって、 http://www.mysite.com/thispage.htm はhttp://www.mysite.com/thispageとして公開されています

 <reddot:cms>
                                                  <foreach itemname="childPages" object="Context:Indexes.GetIndexByPageId(Guid:4595E6AE30D243E6AB11DAE0553A90B7).SubIndexes" countername="pageCounter">
                                                    <htmltext><dd>
<%
 DocSectionURL = "<%!! Store:childPages.GetUrl(Bool:True)!!%>"
 DocNewSectionURL = Replace(DocSectionURL,".htm","")
%>
<a href="<% response.write(DocNewSectionURL) %>"><%!! Store:childPages.Headline !!%></a></dd></htmltext>
                                                  </foreach>
</reddot:cms>

しかし、www.mysite.com/thispage.htm はまだ返されます。これを行うための最良の方法を提案してくれる人はいますか? プレースホルダーで同様の方法を使用することができましたが、この RQL では機能しません。よろしくお願いします。

4

1 に答える 1

1

PreExecute または Rendertags 内でこれを行うことはできません。最終的な URL は、RenderTags と PreExecute が実行された後に作成されます。

拡張子として「.htm」を付けずにファイルを公開するか (設定で拡張子として「.」を挿入するだけです)、配信サーバー (Apache、IIS、 DS、...)。

ベスト、ヒルマー・ブンジェス

于 2013-08-05T09:42:13.080 に答える