• テスター募集 - フレンドリーURL生成まわりの見直し#

  • yama Reply #1, 2 years, 9 months ago

    Reply
    URLまわりのコントロールといえばSEO Strict URLsが有名ですが、やや負荷が高いために敬遠している人もいらっしゃると思います。そもそもコアの処理自体もそんなに軽いわけではなさそうなんですが・・とりあえず、フォルダ(コンテナ)タイプのリソースに対しては拡張子htmlを付けずに「/」スラッシュで止める。だけでよい。という処理のためにコードに手を入れてみました。当メッセージに添付しておきます。

    手を入れた感想としては、URLまわりに関してはコードがトリッキーで難解だということ。さほど長いコードでもないですが、もう少しシンプルな制御ができないものかなあと感じました。リクエストのたびにURLを生成しているので効率もよくないですね。[*own_alias_path*]とか[*sub_resources*]などの形で投稿時に値を保持する仕組みにすれば、見通しと効率に優れた処理が実現できるのではと思いました。


  • yama Reply #2, 2 years, 9 months ago

    Reply
    エイリアスを設定してない場合のフレンドリーURL処理に問題がありました。修正して添付しておきます。


  • yama Reply #3, 2 years, 9 months ago

    Reply
    該当リソースがディレクトリ相当かどうかを逐次演算せずにキャッシュから読み出すだけにしました。


  • shinbori Reply #4, 2 years, 6 months ago

    Reply
    以下ディレクトリにそれぞれのファイルが(ファイル所在のメモ)。


    manager\processors
    cache_sync.class.processor.php

    manager\includes
    document.parser.class.inc.php



  • shinbori Reply #5, 2 years, 6 months ago

    Reply
    ローカル環境で試しましたが、

    デフォルト・・・ http://localhost/modx/test1.html
    コンテナ設定ON・・・ http://localhost/modx/test1/
    コンテナ設定OFF・・・ http://localhost/modx/test1/

    という結果になりました。
    コンテナ設定OFFの時に、test/ となってしまいますね(つまり見境無く/止めになってます)。


    尚、テスト方法は、
    http://localhost/modx/test1.html(1)
    http://localhost/modx/test2.html(2)
    というリソース(括弧内はリソース番号)を作り、test1からtest2へのリンクを作り、リンク先が正常に出力されているかを確認しました。
    (<a href="[~2~]">テストリンク</a>のようなソースだけ貼ったリソースを用意して)



  • yama Reply #6, 2 years, 6 months ago

    Reply
    お返事が遅くなりましたが、チェックありがとうございます。同じ状況で確認してみます。