生产服务器上的Axios发布请求返回403

时间:2019-07-30 15:19:53

标签: javascript .htaccess vue.js axios cross-domain

所以我使用最基本的Axios设置在服务器上进行ajax调用。向同一服务器发送请求,没有外部干扰。

  window.axios = require( 'axios' );
  window.axios.defaults.headers.common = {
    'X-Requested-With' : 'XMLHttpRequest'
  }

  var formData = new FormData;
  formData.append( "name", "your name" );

  axios.post('/request', formData )
  .then(function ( response ) {
    //Do stuff         
  }).catch(function (error) {

  });

这是对端点的非常简单的请求,并且在我的本地测试服务器(Xampp,php7.3)上没有任何问题。

现在将代码推送到生产服务器,我遇到了403错误。 造成这种怪异的原因是,如果我在多个端点上运行它,有时会得到200状态,而有时会得到403。

当我调整Htaccess时,现在我为以前工作的人获得了500,而403返回了200。这让我发疯,任何帮助将不胜感激

Htaccess配置:

RewriteEngine on

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} ^production.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.production.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]

# PHP -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php73” package as the default “PHP” programming language.
<IfModule mime_module>
 AddHandler application/x-httpd-ea-php73 .php .php7 .phtml
</IfModule>

是的,由于我的自定义MVC框架,我的应用需要从公用文件夹中加载。

我尝试到处寻找日志,但找不到任何日志,因此后端代码不是问题。

要么是我没有正确使用Axios,要么是我的Htaccess有了新功能。

谢谢

0 个答案:

没有答案