添付ファイル
問題
- 添付ファイル同士の参照が困難 (編集)
- 添付ファイルのURLとページのURLとの関連性がイマイチで、閲覧者はクリックを躊躇するかも (ユーザビリティ?)
- クローラーは添付ファイルをクロールの対象にしにくい (SEO)
- Apacheのログの管理が煩雑 (わがまま)
解決するには
mod_rewriteを用いて静的コンテンツに偽装する。
注意
- ページをディレクトリに偽装が前提になってます。
- PukiWiki/改造/一括添付・サムネイル出力・キャッシュのパッチとは独立です。
Apacheの設定
- .htaccess内 または httpd.confの<Directory>コンテナ内の記述
Options FollowSymLinks RewriteEngine on RewriteOptions MaxRedirects=1 RewriteBase /pukiwiki/ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)/attach/([^/]+)$ index.php?plugin=attach&openfile=$2&refer=$1 [L] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)/$ index.php?$1 [L]
なお、PukiWikiを /foo/bar/ に設置している場合は、/pukiwiki/ を /foo/bar/ に置き換えて下さい。
PHPスクリプトの修正個所
「静的コンテンツに偽装」パッチ (PukiWiki1.4.4専用)
テスト
備考
デメリット
今のところ、
添付ファイルが画像である場合にはattachではなくrefで処理を行い処理を軽くする
というコードを無視して、attachのみで処理するようになっています。