2016-10-28 3 views
1

すべてのリクエストをindex.phpにリダイレクトするhtaccessルールがありますが、リクエストされたファイルに直接アクセスする必要のあるAJAXリクエストが干渉しています。URLを書き換えてAJAXリクエストを許可する

私はすべてのAJAXリクエストURLに?アヤックス=真を追加することによってこれを解決しようとすると、

「に?真=アヤックス終わるすべてのURLが直接を処理すべきである」というルールを作成していますここに私の.htaccessファイルは、現在次のように

RewriteEngine On  
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{QUERY_STRING} !^ajax=true$ 
RewriteRule ^(.*)$ index.php?params=$1 [NC] 

私のAJAXリクエストURLは次のようになります。

http://www.domain.com/process_ajax.php?ajax=true 

これまでの運はありません:(

答えて

1

私はあなたが負の数字RewriteCondを使用することに近いと思いますが、構文が少しオフになる可能性があります。私の例のようにかっこを使ってみてください。

最初にGETパラメータのワイルドカード値を.*のように使用して、正しいキーのターゲット設定に集中できます。それがうまくいったら、正しい値を得るためにもう一度テストすることができます。恐らくtrueです。

試してみてください。これは働いていた

RewriteEngine On  
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{QUERY_STRING} !(ajax=.*)$ 
RewriteRule ^(.*)$ index.php?params=$1 [NC] 
+0

はあなたに感謝! – yevg

+0

嬉しいことに助けてくれました。あなたは答えを受け入れることができますか? – DrewT

+0

ちょうどしました。再度、感謝します! – yevg