IHS 7.0/Apache 2.2 SetEnvIfディレクティブを使用して、ダウンロードしたファイルのファイル名をurlパラメーターに基づいて設定しようとしています。私はかなり近いと思いますが、ファイル名にスペース(エンコードされているかどうかに関係なく)があると失敗します。
uRLの例:
http://site.com/path/to/filename.ext/file-title=Nice File Name.ext?file-type=foo
Apache構成:
SetEnvIf Request_URI "^.*file-title\=(.*)\??.*$" FILENAME=$1
Header unset "Content-Disposition"
Header add "Content-Disposition" "attachment; filename=%{FILENAME}e"
UnsetEnv FILENAME
アプリケーションは、例で「NiceFileTitle.ext」として表示されているものを指定します。スペースがない場合、これはすべてうまく機能しますが、スペースがある場合、ダウンロードするファイル名は「Nice」と表示されます。クエリ文字列に2番目のパラメータセット(?file-typeなど)がある場合とない場合があります
わかりました-正規表現をそのままにして、ヘッダーの追加を変更することでうまくいきました。
filename=\"%{FILENAME}e\""
引用符で囲みます。はぁ。