2009-07-14 6 views
0

を書き換えます。Apacheの500エラー、私は短く、よりよいURLを持つことができますので、私は書き換えルールを設定して自分の道を働いてきた、と私は非常にajaxyサイトを持っているエンジン&AJAX

私は、サーバー上で作業リライトルールを持っている、とページは素敵な新しいURLをロードするが、すべてのAjaxは今壊れて表示されます。 Firefoxは500エラーを通知します。

直接ページをロードしようと、私はこれが何を意味するのかわかりませんけれども、私は、「500エラー」のページを得ることはありませんが、それは「3738」を返すん。

だから私は、Apacheのログをチェックし、問題は、私はこれが壊れている理由が分からない、ある

 
GET /processes/format.php?output=queries HTTP/1.1" 500 33 

十分に確認してください。ページが存在するので、URLを書き換えることで問題になると思いますか?

私の書き換えルールは、この

 
RewriteEngine On 
    RewriteCond %{REQUEST_URI} !\.(php|html|css|js|gif|png|jpe?g)$ 
    RewriteRule (.*)$ /index.php [L] 

のように見える-----------------は-------------- 1を編集しました---- エラーログがありますが、エラーが再書き込み中に認識されないようです。

 init rewrite engine with requested uri /processes/format.php 
applying pattern '(.*)$' to uri '/processes/format.php' 
RewriteCond: input='/processes/format.php' pattern='!.(php|html|css|js|gif|png|jpe?g)$' => not-matched pass through /processes/format.php

これは書き換えルールのエラーです。!.php私が間違ったログを読んでいない限り、一致しているはずです。

これは2パートのエラーの可能性がありますよう----------------編集2 ------------------ が見えます。 パート1 JavaScriptが500エラーを読み込んでいます パート2ページがコンテンツを出力していません。 私はそのページにいくつかのエコーを投げました。そのURLは検索可能です。 3738がどこから来ているのかわからない。あなたがエラーをピンに役立つかもしれない

+0

ログには "not matched => passed"と表示されるため、書き換えルールが適用されないことを意味します。そのため、エラーの原因となる書き換えはおそらくありません。 – Torandi

答えて

2

いくつかのステップ:

  • あなたはJSを使用せずにformat.phpページを試したことがありますか?
  • 書き換えに関するより詳細なデバッグをオンにしてください:RewriteLogLevel 9は非常に冗長です

    はRewriteLog /var/log/apache2/rewrite.log

    RewriteLogLevel 9

、および製品に使用しないでください

書き換えについての詳細:http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteLog

+0

はい、私はJSなしでページを取得しようとしました(申し訳ありません、私は私のエントリを編集し、何とかそれを取り除きました、私はそれを戻すでしょう) – pedalpete

+0

私はそのログファイルをオンにして、上記の最初のコメントに出力を入れます。 – pedalpete

0

CRAZY !!! これは私のテストサーバーでどうやって起こっているのかまだ分かりませんし、どのように進行するのか非常に懸念していますが、コードは今度は&というテストで動作します。

私は500エラーが非常に誤解を招くだったと思います。エラーはありませんでしたが、ページには必要なコンテンツが返されていませんでした。

ここで何が起こったのですか。

私が取得しようとしていたリンクがformat.phpでしたか?出力は=

今、PHPで、私は、変数$ _GET [「出力」]を取得する必要がありますが、私には、同じページを使用するので、私はいくつかのために、この

 
if(!isset($output)){ 
[email protected]$_GET['output']; 
} 

を使用するクエリページが新しいウィンドウで取得されている場合でも、テストサーバー出力の理由が設定されていました。そんなことがあるものか?それはURLにのみあり、PHPはどのようにそれを割り当てるのか知っていますか?

とにかく、私はformat.phpを使用するページに他の場所で使用しない変数があることを知っています。その変数を今すぐチェックします。 問題を修正しました。

これを実行すると、ページが読み込まれ、火虫が何も表示されません。 Firebugが500近くの空のページを500エラーと解釈するのはなぜですか?

+0

こんにちは、私はまったく同じ問題を抱えています、どうやってデバッグしましたか?私のものはhttp://cheernuts.com/widget_json.php?id=5_11593です – Vish

関連する問題