Riverbed Stingray にアプリケーションをセットアップしました。要件の 1 つは、管理者がシステムを更新したいときにメンテナンス ページを表示することでした。
そのため、ロゴ画像を含む html ページを作成し、.html と .png の両方の画像を Extra File/miscellaneous パスにアップロードしました。ルールを作成しました。trafficScript の下に追加したルールで、その他のパスにアップロードされたハードコーディングされた html ファイル名を持ちます。そして、これで自分のウェブサイトにアクセスしようとすると、メンテナンスページが表示されますが、メンテナンスページに追加された画像が表示されません。しかし、.html ファイル名をハードコーディングせずに http.getPath() を使用し、そこからファイル名を取得してナビゲーションに使用すると (スクリプトでコメントされている)、画像も正常に表示されます。
問題がある場合、またはこれを行うためのより良い方法がある場合は、誰かが私に教えてください。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Sorry</title>
</head>
<body>
<img src="/.extra/test.png">
<h1>Our apologies</h1>
We're sorry. All of our operators are busy. Please try again later.
</body>
</html>
TrafficScript
#$url = http.getPath();
#if( ! string.regexmatch( $url, "^/\\.extra/(.*)$" ) ) {
# break;
#} else {
# $file = $1;
#}
$file = "App_Offline.html";
# If the file does not exist, stop
if( ! resource.exists( $file ) ) break;
# Serve the file from the conf/extra directory
$contents = resource.get( $file );
http.sendResponse( "200 OK", "text/html", $contents, "" );