sid 使いの辛いところといえば、あるパッケージのアップデートをしたら、違うパッケージが動かなくなる、というのが時々あったりすることなんですが、最近それでハマったのが ownCloud 。
PHP7 系のパッケージが sid に取り込まれた関係で、sid 向けにパッケージングされてた ownCloud (7.0.x) が「7.0.x は PHP7 では動きません。8.x にしてね。」的なメッセージを表示するようになったんで、結局 ownCloud の公式サイトで提供されている 9.0.0 の deb パッケージをインストール。(そっちでもハマったんだけど、それは別の機会に。)
さて、本題は、その ownCloud で「URLリンクでの共有」したファイルの URL を書き換えたい、ということなのだけど、これが一筋縄ではいかないようで、うまく出来てません。
ownCloud 自体、 7.0 系と 9.0 系、操作や表示といった部分では大きく変わった印象はないのだけど、 「URLリンクで共有」しているファイルに割り振られる URL の表記が随分と変更されてます。
7.0 系:https://www.downtown.jp/owncloud/public.php?service=files&t=5f4fa827b45854ee60832266a4b9ab96
9.0 系:https://www.downtown.jp/owncloud/index.php/s/sTN4t4d6JxQ0670
ということで、この新旧の URL をApache の mod_rewite で URL 書き換えようと、以下のように設定。
AllowEncodedSlashes On
RewriteEngine On
RewriteCond %{REQUEST_URI} /owncloud/public.php
RewriteCond %{QUERY_STRING} ^service=files&t=5f4fa827b45854ee60832266a4b9ab96$
RewriteRule ^.*$ /owncloud/index.php/s/sTN4t4d6JxQ0670 [R=301,L]
で、テストアクセスしてみると…。
コメントする