2016-10-28 110 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