2016-09-23 10 views
0

私はcakephp 3.3.2バージョンと5.6 phpバージョンを使用しています。Cakephp 3:与えられた403の禁じられたエラー

public function edit($id = null) { 
     $country = $this->Countries->get($id, [ 
       'contain' => [] 
      ]); 
     if ($this->request->is(['patch', 'post', 'put'])) { 
      $country = $this->Countries->patchEntity($country, $this->request->data); 
      if ($this->Countries->save($country)) { 
       $this->Flash->success(__('The country has been saved.')); 

       return $this->redirect(['action' => 'index']); 
      } else { 
       $this->Flash->error(__('The country could not be saved. Please, try again.')); 
      } 
     } 
     $this->set(compact('country')); 
     $this->set('_serialize', ['country']); 
    } 

のような私の編集アクションの外観は、このコードは、ローカルホストで正常に動作、しかし、私は何かを編集するつもりとき(共有ホストを使用して)私の本当のホストに、それは、私の403禁止エラーを与えています。それから私は郵便配達員を使って確認しました。それから私はそれが取得と投稿のためにうまく動作しているのを見ましたが、putに403 Forbiddenエラーを与えます。この問題を解決するためにphpやcakephpに余分な設定がありますか?あなたはそれがサーバーの問題である可能性がありので、それがローカルホストに取り組んでいた

答えて

1

.. チェックが、これは私がhere.Soをホスティング共有を使用していますanswer- Why does my web server software disallow PUT and DELETE requests?答え

+0

を承認したことは、.htaccessを変更する必要はありませんが、どのようには考えてcakephp htaccessにこの設定を追加してください。 –

+0

私は比較的新しいcakephpです。あなたはhtaccessで限界コードを試してみて、それが助けになるかどうかチェックできますか?限界条件はhtaccessファイルが入っているフォルダに限られているので、ベースのフォルダとsrc。 –

+0

私はputメソッドを拒否し、すべての形式でpost定義メソッドを適用すると、私の問題は解決されました。セキュリティのために、一部のサーバーがputメソッドを受け入れない可能性があります。私はこの問題を解決する方向を私に与えてくれたので、私はあなたのansを受け入れています。 –

関連する問題