【復活求む!】惜しくも解散してしまったバンド|J-ROCK編 >>

どんなURIを指定しても用意したページ(sorry.html)を返すSorryサーバを作りたいのです
が上手く出来ません。


例えば、
http://192.168.1.5/aaa.html
http://192.168.1.5/cgi-bin/aaa.cgi
http://192.168.1.5/aaa/aaa.html

のアクセスはすべて、
http://192.168.1.5/sorry.html
の内容をクライアントに返したいです。リダイレクトで再要求でも良いです。

【httpd.conf】
1.Redirect permanent /foo http://192.168.1.5/sorry.html
2.ErrorDocument 404 http://192.168.1.5/sorry.html

このような設定を入れてみましたが、うまくいっていません。
HTTP 404 -ファイル未検出 となります。

ともかく、httpd.confでSorryサーバの作り方を教えて頂けないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こういうことでしょうか?



「「HTTP 404 - ファイル未検出」ではかっこわるい!」
http://www.futomi.com/lecture/htaccess/error_doc …

参考URLのご利用も含め、すべては自己責任でお願いします。

参考URL:http://www.futomi.com/index.html
    • good
    • 0
この回答へのお礼

カスタマイズ HTML のサイズを、512 バイト以上の大きさで作成したら上手くいきました。ありがとうございました。

お礼日時:2003/08/01 08:51

ErrorDocument 404 /sorry.html


ではだめですか?
もちろんsorry.htmlはドキュメントルートにおいたときのはないです。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qパスワード設定していないユーザーのログイン

いつもお世話になっております。

linuxで、useraddした後、passwdコマンドでパスワードを設定していないユーザーがいます。ここでは、postgresとします。

このユーザーに一般ユーザーからなるときに、
$su - postgres
としますが、パスワードがきかれて、何も入力しないと、
invalidになります。(centos5)

パスワードを設定しないと、一般ユーザーからログインできないのでしょうか。
ちなみに、rootからpostgresですと、ログインできます。
$su -
$su - postgres

お手数をおかけしますが、なにとぞご教授お願いいたします。

Aベストアンサー

 実際useraddしてみると分かりますが、useradd直後の状態では、パスワードは「設定されていません」。
 設定しとらんのやけん設定はされとらんやろ何を言うてるんアホちゃうんと思うなかれ。パスワードが設定されていないとは、パスワードが空である(=初期値としてランダムパスワードが設定されている訳ではない)という事です。さて、ではどうして一般ユーザーからsuできないのでしょうか。rootになって

# getent shadow postgres

とすると、パスワードの欄が半角びっくりマーク2個のみが印字されたかと思います。この半角びっくりマーク2個というのがLinuxにおいて「アカウントがロックされている」という状態になります。
 試しに/etc/shadowファイルをrootで直接書き換える(びっくり2つを削る)と、一般ユーザーからパスワードなしでsu - postgresできるようになります。もちろんこんな危険な操作(shadowの書き換え)は普通せずに、以下のようにします。

# passwd -u -f postgres

passwd -uというのは、ロックアウトされているアカウントのロックを解除するものですが、現在postgresにはパスワードが設定されていないためpasswd -uだけだと「危険だべ」と拒否されます。ので、-fオプションをつけて強行します。すると先ほど/etc/shadowを直接書き換えたのと同じ状態に変わり、一般ユーザーからパスワードなしでsu - postgresする事ができるようになります。逆にロックする時は

# passwd -l postgres

です。詳しくはpasswd -hなどを参照の事。root(uid 0)はロックされているアカウントもおかまいなしに変身できるという凄い権利を持っています。

 実際useraddしてみると分かりますが、useradd直後の状態では、パスワードは「設定されていません」。
 設定しとらんのやけん設定はされとらんやろ何を言うてるんアホちゃうんと思うなかれ。パスワードが設定されていないとは、パスワードが空である(=初期値としてランダムパスワードが設定されている訳ではない)という事です。さて、ではどうして一般ユーザーからsuできないのでしょうか。rootになって

# getent shadow postgres

とすると、パスワードの欄が半角びっくりマーク2個のみが印字されたかと思...続きを読む

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

Qttlで戻り値を取得する方法

Teratermmacroでローカル(cygwin)に入り、サーバ(HP-UX)にリモートで入った後、
コマンドの戻り値で後の行動を操作したいのですが、うまくいきません。
わかる方、教えていただけませんか。

ざっくり以下のようなマクロを組んでいます。

----------------------------------------------------------
sendln 'ssh name@host1'

wait Prompt
sendln 'sendmsg "test"'(のようなコマンド) ←これの戻り値がほしい

if 戻り値 = 0 then
 ○○
elseif 戻り値 = 1 then
 wait Prompt
 sendln 'exit'
 wait Prompt
 sendln 'ssh name2@host2'

以下略
----------------------------------------------------------

上記の「戻り値」をどのようにすれば戻り値で判別してくれるでしょうか。
if文の条件式を $?やresultでやりましたが、どのような戻り値でも
必ず$?は0、resultは1で固定でした。

また、sendmsgとif文の間に以下のように試しましたが、失敗しました。
例1:
----------------------------------------------------------
sendln 'echo $?'
recvln

if inputstr = 0 then ←syntax errorになります。
 ○○
elseif inputstr = 1 then
----------------------------------------------------------

例2:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1247390747参照
----------------------------------------------------------
sendln 'echo $?'
recvln
recvln

hensu=inputstr ←Type mismatch.のエラーになる。 直前にstr2intを入れたりしても駄目でした。
ちなみにsendln 'echo $?'を挟まずsendmsgの直後にrecvlnでも駄目です。

if hensu = 0 then
 ○○
elseif hensu = 1 then
----------------------------------------------------------

host1にシェルスクリプトを入れることは出来ません。

Teratermmacroでローカル(cygwin)に入り、サーバ(HP-UX)にリモートで入った後、
コマンドの戻り値で後の行動を操作したいのですが、うまくいきません。
わかる方、教えていただけませんか。

ざっくり以下のようなマクロを組んでいます。

----------------------------------------------------------
sendln 'ssh name@host1'

wait Prompt
sendln 'sendmsg "test"'(のようなコマンド) ←これの戻り値がほしい

if 戻り値 = 0 then
 ○○
elseif 戻り値 = 1 then
 wait Prompt
 sendln 'exit'
 wait Prompt
...続きを読む

Aベストアンサー

基本方針は、echo $? の出力文字をttlで受信して判定、でいいと思います。

・inputstrは文字列なので、=での比較はできません
strcompareコマンドで比較→変数resultで判定
あるいは
str2int 変数 intputstr で変数に数値化→if 変数=0 等と判定
ということになります。
http://ttssh2.sourceforge.jp/manual/ja/macro/syntax/variables.html
http://ttssh2.sourceforge.jp/manual/ja/macro/command/strcompare.html
http://ttssh2.sourceforge.jp/manual/ja/macro/command/str2int.html


・recvln1つではエコーバックの分を受け取ってしまうようです。
他の出力を受信してしまう場合もあります。
確実にやるなら、目印を付けてwaitでそこまで待つ、というのがいい思います

sendln 'echo "=== EXIT STATUS === : $?"'
wait '=== EXIT STATUS === : '
recvln


・シェルスクリプトを入れることはできなくても、複合コマンドを実行することはできるはずです。
sendln '(sendmsg "test" && echo "==== OK ====") || echo "==== NG ===="'
waitlnで待ち→resultで分岐とできます
http://ttssh2.sourceforge.jp/manual/ja/macro/command/waitln.html

基本方針は、echo $? の出力文字をttlで受信して判定、でいいと思います。

・inputstrは文字列なので、=での比較はできません
strcompareコマンドで比較→変数resultで判定
あるいは
str2int 変数 intputstr で変数に数値化→if 変数=0 等と判定
ということになります。
http://ttssh2.sourceforge.jp/manual/ja/macro/syntax/variables.html
http://ttssh2.sourceforge.jp/manual/ja/macro/command/strcompare.html
http://ttssh2.sourceforge.jp/manual/ja/macro/command/str2int.html


・recvln1つではエコーバ...続きを読む

QLinux:sedコマンドで置換がしたいです!!

sedコマンドで、「$」、「空白」、「"」を含む文字を置換がしたいのですが、
うまく行きません ><
詳しい方いましたら教えてください m(_ _)m


******************************
置き換え対象の文字列(スペース含む)
******************************
$SUBJECT_TAG_TYPE = "[:]";


***********************
こんな風に置き換えたい
***********************
$SUBJECT_TAG_TYPE = "";


***********************
打ってみたコマンド
***********************
sed -i -e 's/$SUBJECT_TAG_TYPE = "[:]";/$SUBJECT_TAG_TYPE = "";/' ./test.txt

sedコマンドで、「$」、「空白」、「"」を含む文字を置換がしたいのですが、
うまく行きません ><
詳しい方いましたら教えてください m(_ _)m


******************************
置き換え対象の文字列(スペース含む)
******************************
$SUBJECT_TAG_TYPE = "[:]";


***********************
こんな風に置き換えたい
***********************
$SUBJECT_TAG_TYPE = "";


***********************
打ってみたコマンド
***********************
...続きを読む

Aベストアンサー

鍵括弧[] と、ドル記号$ は、
sed の コマンド s/// にて特別な意味を持つ記号です。

なので、エスケープして使いましょう
sed -e 's/\$SUBJECT_TAG_TYPE = "\[:\]";/\$SUBJECT_TAG_TYPE = "";/'

空白と二重引用符には、
特別な意味は無いのでそのままでよいのですが、
エスケープしてもしなくても意味は同じになるので、
怪しいと思った記号は全てエスケープするとよいでしょう。

少々見づらくなる欠点もありますが
sed -e 's/\$SUBJECT_TAG_TYPE\ \=\ \"\[\:\]\"\;/\$SUBJECT_TAG_TYPE\ \=\ \"\"\;/'


人気Q&Aランキング