防止htaccess影响ajax请求

时间:2014-03-24 07:17:21

标签: php ajax .htaccess mod-rewrite

我试图修改我的htaccess请求,它当前加载了所有php文件,但删除了.php扩展名。但是我注意到这会影响我的ajax请求,因为我无法从它们获取任何POST数据。我应该添加什么来阻止特定的php(data.php)不受htaccess扩展删除的影响?

我的htaccess的代码:

RewriteEngine On

# browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]

# check to see if the request is for a PHP file:
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /$1.php [L]

2 个答案:

答案 0 :(得分:2)

可能是你在帖子上发送一些数据然后检查htaccess如果有数据的url然后忽略重写或使用ajax中的post url而没有像url / data这样的php扩展

 url: data, //instaed of data.php

答案 1 :(得分:1)

您可以使用:

RewriteEngine On

# skip POST requests
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^ - [L]

# browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]

# check to see if the request is for a PHP file:
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /$1.php [L]
相关问题