.htaccess 与 Ajax 数据表

耶努·鲁丹

我正在开发一个 php 项目,在该项目中我将数据表与 ajax 一起使用,直到我添加 .htaccess 文件以从链接中删除 .php 并按如下方式重命名某些文件夹之前,一切都运行良好

 Options +FollowSymLinks
 RewriteEngine on
 # pass-through if another rewrite rule has been applied already
 RewriteCond %{ENV:REDIRECT_STATUS} 200
 RewriteRule ^ - [L]

 RewriteRule ^share/(.*?)(\.php)?$ /reports/$1 [R=307,NC,L]

 RewriteRule ^(.+)\.php$ /$1 [R=307,NC,L]

 RewriteCond %{DOCUMENT_ROOT}/share/$1.php -f
 RewriteRule ^reports/(.*)$ share/$1.php [L,NC]

 RewriteRule ^reports/(.*)$ share/$1 [L,NC]

 RewriteCond %{REQUEST_FILENAME}.php -f
 RewriteRule ^(.+?)/?$ $1.php [NC,L]

我使用 redirect_status 200 的原因是因为我不想添加 END,因为我的 apache 版本是 2.2 并且我不想升级它,任何想法出了什么问题?

编辑:在 ajax 调用的 php 中打印 $_REQUEST

   Array
 (
    [draw] => 1
[columns%5B0%5D%5Bdata%5D] => 0
[columns%5B0%5D%5Bname%5D] => 
[columns%5B0%5D%5Bsearchable%5D] => true
[columns%5B0%5D%5Borderable%5D] => true
[columns%5B0%5D%5Bsearch%5D%5Bvalue%5D] => 
[columns%5B0%5D%5Bsearch%5D%5Bregex%5D] => false
[columns%5B1%5D%5Bdata%5D] => 1
[columns%5B1%5D%5Bname%5D] => 
[columns%5B1%5D%5Bsearchable%5D] => true
[columns%5B1%5D%5Borderable%5D] => true
[columns%5B1%5D%5Bsearch%5D%5Bvalue%5D] => 
[columns%5B1%5D%5Bsearch%5D%5Bregex%5D] => false
[columns%5B2%5D%5Bdata%5D] => 2
[columns%5B2%5D%5Bname%5D] => 
[columns%5B2%5D%5Bsearchable%5D] => true
[columns%5B2%5D%5Borderable%5D] => true
[columns%5B2%5D%5Bsearch%5D%5Bvalue%5D] => 
[columns%5B2%5D%5Bsearch%5D%5Bregex%5D] => false
[columns%5B3%5D%5Bdata%5D] => 3
[columns%5B3%5D%5Bname%5D] => 
[columns%5B3%5D%5Bsearchable%5D] => true
[columns%5B3%5D%5Borderable%5D] => true
[columns%5B3%5D%5Bsearch%5D%5Bvalue%5D] => 
[columns%5B3%5D%5Bsearch%5D%5Bregex%5D] => false
[columns%5B4%5D%5Bdata%5D] => 4
[columns%5B4%5D%5Bname%5D] => 
[columns%5B4%5D%5Bsearchable%5D] => true
[columns%5B4%5D%5Borderable%5D] => true
[columns%5B4%5D%5Bsearch%5D%5Bvalue%5D] => 
[columns%5B4%5D%5Bsearch%5D%5Bregex%5D] => false
[columns%5B5%5D%5Bdata%5D] => 5
[columns%5B5%5D%5Bname%5D] => 
[columns%5B5%5D%5Bsearchable%5D] => true
[columns%5B5%5D%5Borderable%5D] => true
[columns%5B5%5D%5Bsearch%5D%5Bvalue%5D] => 
[columns%5B5%5D%5Bsearch%5D%5Bregex%5D] => false
[columns%5B6%5D%5Bdata%5D] => 6
[columns%5B6%5D%5Bname%5D] => 
[columns%5B6%5D%5Bsearchable%5D] => true
[columns%5B6%5D%5Borderable%5D] => true
[columns%5B6%5D%5Bsearch%5D%5Bvalue%5D] => 
[columns%5B6%5D%5Bsearch%5D%5Bregex%5D] => false
[columns%5B7%5D%5Bdata%5D] => 7
[columns%5B7%5D%5Bname%5D] => 
[columns%5B7%5D%5Bsearchable%5D] => true
[columns%5B7%5D%5Borderable%5D] => true
[columns%5B7%5D%5Bsearch%5D%5Bvalue%5D] => 
[columns%5B7%5D%5Bsearch%5D%5Bregex%5D] => false
[columns%5B8%5D%5Bdata%5D] => 8
[columns%5B8%5D%5Bname%5D] => 
[columns%5B8%5D%5Bsearchable%5D] => true
[columns%5B8%5D%5Borderable%5D] => true
[columns%5B8%5D%5Bsearch%5D%5Bvalue%5D] => 
[columns%5B8%5D%5Bsearch%5D%5Bregex%5D] => false
[columns%5B9%5D%5Bdata%5D] => 9
[columns%5B9%5D%5Bname%5D] => 
[columns%5B9%5D%5Bsearchable%5D] => true
[columns%5B9%5D%5Borderable%5D] => true
[columns%5B9%5D%5Bsearch%5D%5Bvalue%5D] => 
[columns%5B9%5D%5Bsearch%5D%5Bregex%5D] => false
[order%5B0%5D%5Bcolumn%5D] => 0
[order%5B0%5D%5Bdir%5D] => asc
[start] => 0
[length] => 10
[search%5Bvalue%5D] => 
[search%5Bregex%5D] => false
[_] => 1493734100074
  )

所以 php 文件无法读取 $_REQUEST 的正确值,这会把事情搞砸

广告08

因为你已经从扩展中删除了 .php 并且你可能在你的代码库中使用了如下代码 -

       $.ajax({ url: '/your/site',
     data: {action: 'test.php'},
     type: 'post',
     success: function(abc) {
                  alert(xyz);
              }
       });

尝试从 ajax 调用中删除 .php,这是您的代码的样子

  $.ajax({ url: '/your/site',
 data: {action: 'test'},
 type: 'post',
 success: function(abc) {
              alert(xyz);
          }
   });

这是您问题的可能解决方案,让我知道它是否有效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章