我试图修改我的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]
答案 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]