とりあえず、思いつくのはmod_rewriteと併用する方法です。
PerlやPHPなどでCGIが利用できることも前提となります。
この場合、
http://servername/show.php?file=yyyy.txt
といったアクセスをした際に、show.phpの処理として、ヘッダとフッタを加えて、yyyy.txtの内容を表示するようにします。
その上で、
xxxx以下のファイルに関して、
xxxx/AAAA.txt を show.php?file=AAAA.txt
と書き換えるようにmod_rewriteを設定してください。
何かの参考になれば。
表示するべきヘッダやフッタは、
他のファイルから読み込むと仮定します。
1) mod_layout
mod_layout はいかがでしょうか。
http://yumepage.gr.jp/home/kawando/other/header_footer.htm
レンタルサーバで、広告を自動的に挿入する際に
使われていたりするようです。
(ちょっと調べたところでは、古い情報しか見つかりませんでした。
バージョンによって挙動が異なるなど注意が必要なようです。)
2) php の auto_prepend_file / auto_apend_file
もうひとつの方法として、apacheの設定で
phpだと思わせてしまう方法もあります。
php が動いている場合、以下のような設定を
.htaccess 等に加えればOKです。
AddHandler php-script php txt php_value auto_prepend_file header.txt php_value auto_append_file footer.txt
(php-script は環境によっては php5-script かも知れません)
いずれの方法も、yyyy.txt には一切変更を必要としません。
ありがとうございます。
Alias と PHP を使うやりかたです。
まず以下のようなレイアウト用のphpを layout.php という名前で作成します。
<html> <head> <title>layout sample</title> </head> <body> <?php echo htmlspecialchars($_SERVER['SCRIPT_NAME']); ?> <pre style="background-color:#ccccff;padding:0.3em;border:1px solid blue;"> <?php echo htmlspecialchars(file_get_contents($_SERVER['DOCUMENT_ROOT'] . $_SERVER['SCRIPT_NAME'])); ?> </pre> </body> </html>
次に htpd.conf に以下のような Alias を設定します。
AliasMatch ^/xxx/ /path/to/layout.php
この状態で http://servername/xxx/yyyy.txt にアクセスすれば期待通りの動きになると思います。
ありがとうございます。
回答ありがとうございます。それも考えたのですが、Apacheの設定だけで済ませたいなぁという思いがあります。また何か情報がありましたら、コメント欄などでお願いいたします。