Quote from: wmo at May 29, 2008, 11:15 PM
いまいちOnWebPagePrerenderの役割がわからないのですが。
SEO Strict URLs には、2つの機能があります。
1つは、MEGUさんが上でご紹介されているところに書かれているように、MODxには1つのページに複数のアドレスが存在してしまうんですが、これを1つに纏める機能です。例えば、SEO Strict URLs の設定で「mydomain.com/good.html」が本来の正しい唯一のURLだとします。この際、MODxのデフォルトでは、例えば「mydomain.com/good」とか「mydomain.com/good/」でアクセスしても同じページが表示されますが、SEO Strict URLs はこれらのURLでアクセスがあったときに、これを本来のURLへ301リダイレクトします。これが「OnWebPageInit」の部分で実施されている内容です。
もう1つは、MODxがブラウザに吐き出すHTMLコンテンツ中にあるURLについて、設定のとおりに書き換える機能です。例えば、個別にあるページだけフォルダのようにURLを表示したい(manual overrides)と思ってそのページのTVでフォルダ表示に設定したとします。MODxデフォルトではそのページはフォルダではないので「mydomain.com/good/」のようには出力されず「mydomain.com/good.html」のように出力されます。これをMODxがブラウザに出力結果を吐き出す前に「mydomain.com/good/」に書き換えてから出力します。これが「OnWebPagePrerender」の部分で実施されている内容です。
OnWebPagePrerenderをオフにすると、早くなりました。
そしてちゃんと書き換えも行われているようです。
上記のとおり、出力されるHTML中のURL書き換え処理で時間を食っていることになりますね。
オフにしたというのは、システムイベントのチェックボックスをオフにしたということですよね?
でも、本当にURLの書き換えが行われていますか?
もともと書き換える必要が無いから書き換わっていないだけではないですか?
この機能を停止して書き換えが行われるはずは無いと思うのですが...
間違いなく書き換えられるURLが存在しているページでもう一度確認してみて頂けないでしょうか?
プラグインの設定を、デフォルトで上から1、1,0,0としていたのをすべて0にして、
OnWebPagePrerenderをオンにしても同じように早くなりました。
上から
「Edit document links」 ->(1)
「Rewrite containers as folders」->(2)
「Check for empty container when rewriting」
「Enable manual overrides」
でしょうか?
(1)は、OnWebPagePrerenderのオンオフと同じ効果があります。0にするとURLの書き換えが行われません。ですので、早くなって当然ですね。
(1)は1に戻してみて頂いて、もともと1だった(2)だけ0にすると早くなりますか?