防止htaccess影响ajax请求



我试图修改我的htaccess请求,它目前加载所有的文件是php,但删除。php扩展名。然而,我注意到这影响了我的ajax请求,因为我无法从中获得任何POST数据。我添加什么到我的htaccess,以防止特定的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]

可能是你在post上发送一些数据,然后检查在htaccess如果url与数据,然后忽略重写或使用post url在ajax没有PHP扩展,如url/data

 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]

最新更新