カテゴリ | |
---|---|
サマリ | データのバックアップ |
バージョン | 1.4.4 |
投稿者 | 初心者 |
状態 | 完了 |
投稿日 | 2004-12-09 (木) 13:12:55 |
初めまして。サーバーの障害によって、wikiが表示されなくなってしまいました。「Internal Server Error」と表示されるので、サーバー内のエラーのようです。データ自体はアップロードされているようなので、再度、PukiWikiをアップロードしようと考えてます。そこで、過去のデータはどこにあるのでしょうか? また、それを上書きすれば、以前の状態に戻るのでしょうか?
復旧後のApacheはバージョン1.3.33となっており、復旧まえの1.3.31よりApacheの正 規表現の仕様が変更されております事が原因で、.htaccessを設置しているお客様の ホームページにおいて、以下の不具合が発生する可能性があります。
・エラー(Internal Server Error)が発生する。 ・エラーログに「.htaccess: Regex could not be compiled」が記録される
この度のApacheの仕様変更では、正規表現の判別のルールが変更されておりますの で、特に.htaccessで<FilesMatch>ディレクティブもしくは<Files>ディレクティブの 拡張正規表現を使用しているお客様は、このエラーを回避できるよう対処していただ く必要がございます。
以下、エラーが発生する.htaccessの記述の具体例と、その回避策を説明致します。
■具体例1
<FilesMatch "*\.php">&br; Order allow,deny&br; Deny from all&br; </FilesMatch>
「*」は直前に置かれている文字の0字以上の繰りかえしを意味します。 具体例1では、「*」の直前に何の文字も置かれていないため、エラーになります。
□具体例1の解決策
<FilesMatch ".*\.php">&br; Order Deny,Allow&br; Deny from all&br; </FilesMatch>
「*」(アスタリスク)の前に何らかの文字を挿入すれば、エラーを回避できます。 上記の例では「.」(ドット)を挿入しています。
■具体例2
<FilesMatch "?\.php">&br; Order allow,deny&br; Deny from all&br; </FilesMatch>
「?」は直前に置かれている文字の0文字または1文字の繰りかえしを意味します。 上記の例では、「?」の直前に何の文字も置かれていないため、エラーになります。
□具体例2の解決策
<FilesMatch ".?\.php">&br; Order Deny,Allow&br; Deny from all&br; </FilesMatch>
「?」(クエスチョンマーク)の前に何らかの文字を挿入すれば、エラーを回避できま す。 上記の例では「.」(ドット)を挿入しています。
■具体例3
<Files ~ "*\.php">&br; Order allow,deny&br; Deny from all&br; </Files>
Files>ディレクティブでは「~」(チルダ)を使用した場合に、拡張正規表現を使用し ますので、問題が発生する可能性があります。 上記の例では、「*」の直前に何の文字も置かれていないため、エラーになります。
□具体例3の解決策
<Files ~ ".*\.php">&br; Order allow,deny&br; Deny from all&br; </Files>
「*」(アスタリスク)の前に何らかの文字を挿入すれば、エラーを回避できます。 上記の例では「.」(ドット)を挿入しています。
具体例と解決策は以上になります。