2012-01-13 4 views
0

正しく動作していないApacheのhtacessファイルがあります。htaccess - rewritecond issue

私はデフォルトのcactch-allを持っていますが、すべてのリクエストを取得しますが、それ以上の一致するURL(ajax/*)は引き続き取得しています。私は、ajaxを含んでいないURLに合致する条件がそれを止めると思ったが、そうではない。

RewriteRule ^ajax/(.*)$ process_lite.php [QSA,L] 

RewriteRule ^resources/(.*)$ resources/$1 [L] 
RewriteCond %{REQUEST_URI} !\.(css|jpg|js|gif|png)$ 
RewriteCond %{REQUEST_URI} !^ajax 
RewriteRule ^(.*)$ process.php [QSA,L] 

誰かが私を助けてくれますか?

答えて

0

最初のルールが/ajax/リクエストと一致し、/process_lite.phpに書き換えられたため、URIがprocess_lite.phpになっているため、RewriteCond %{REQUEST_URI} !^ajaxが一致しない可能性があります。 REQUEST_URI変数が先頭のスラッシュで始まるため、使用する正規表現は何にも一致しません。また、「リソース」のルールは最後の書き換えを除いて何もしていないようですそれが目標だ場合、あなたはこれにそれを変更することができ

RewriteCond %{REQUEST_URI} !^/process_lite.php 

:あなたはに条件を変更してみてください

RewriteRule ^resources/ - [L] 
+0

私の問題を解決するのを助けてくれてありがとう:) – Joe

関連する問題