本質的でないリンク方法
研究室オフィシャルサイトをhttp://www.cml-office.org:8080/officialで動かし、www.cml-office.orgのDocumentRootに通常のhtmlファイルなどを入れてapache httpdと併用で動かしている。ploneはポート8080を、apacheはポート80を使っている。
新サーバに移動してからhttp://www.cml-office.org:8080/officialのRewriteがうまく動かず、http://www.cml-office.org/officialへのアクセスでPloneサイトを見せるということができなくなっている。
この状態で、DocumentRootに置いている、atom11archive/water/water_cluster.htmlへのリンク、つまりhttp://www.cml-office.org/atom11archive/water/water_cluster.htmlで参照できるファイルへのリンクをploneのファイル中で貼ると、「http://www.cml-office.org/atom11archive/water/water_cluster.html」とがっつり全部書いてもファイル保存の時に相対バスに変換されてしまって、../atom11archive/water/water_cluster.html、となってしまう。このリンクをつつくと、http://www.cml-office.org:8080/tom11archive/water/water_cluster.htmlを見に行こうとしてnot foundエラーが出る。
これを回避する姑息な手段は、ploneのファイル編集時に、リンクをhttp://www.cml-office.org:80/atom11archive/water/water_cluster.htmlのようにポート指定で書いておくこと。すると、ファイルのリンクをつつくとhttp://www.cml-office.org/atom11archive/water/water_cluster.htmlを見に行ってくれ、apacheが面倒を見てくれて正常に表示される。
本来ならapacheのサーバ側の設定でRewriteをするのが正攻法だが、いろんなパターンを試してもうまくいかないし、重要なリンクは切れたままにもできないので、やむを得ずいくついかは場当たり的に対応するしかない。ちっともスマートではないが仕方がない。