Php 防止htaccess影响ajax请求

Php 防止htaccess影响ajax请求,php,ajax,.htaccess,mod-rewrite,Php,Ajax,.htaccess,Mod Rewrite,我试图修改我的htaccess请求,它当前加载了所有php文件,但删除了.php扩展名。然而,我注意到这会影响我的ajax请求,因为我无法从它们获取任何POST数据。为了防止特定的php(data.php)不受htaccess扩展删除的影响,我应该向htaccess添加什么 我的htaccess的代码: RewriteEngine On # browser requests PHP RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php R

我试图修改我的htaccess请求,它当前加载了所有php文件,但删除了.php扩展名。然而,我注意到这会影响我的ajax请求,因为我无法从它们获取任何POST数据。为了防止特定的php(data.php)不受htaccess扩展删除的影响,我应该向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]

您可能会在post上发送一些数据,然后签入htaccess,如果url带有数据,则忽略重写,或者在ajax中使用post url,而不使用url/data等php扩展

 url: data, //instaed of data.php
您可以使用:

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]

@Rakeshharma它能工作!!谢谢您可能会在post上发送一些数据,然后签入htaccess,如果url带有数据,则忽略重写,或者在ajax中使用post url,而不使用url/data等php扩展