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