Kā novērst Web matricas HTTP kļūdu 404 3 nav atrasta

Man ir izveidota šī vienas lapas lietojumprogramma, izmantojot StūraJS kas atrodas dokumenta saknē.

SPA sazinās ar API, kas izveidots, izmantojot CakePHP 3.5.x. CakePHP instance atrodas mapē ar nosaukumu /api. Visi pieprasījumi no SPA tiek nosūtīti uz www.example.com/api/some-action.json. Tas izdodas labi, un šeit nav problēmu.

Tomēr man ir arī administrācijas aizmugure, kas iebūvēta CakePHP un kurai var piekļūt, izmantojot CakePHP maršrutēšanas prefiksu “admin”.

Ja lietotne Cake dzīvotu augstākā līmeņa dokumentālajā saknē, es tam būtu viegli piekļuvis, izmantojot www.example.com/admin. Tā kā lietotne Cake atrodas api apakšmapē, mēģinu tai piekļūt, izmantojot www.example.com/api/admin un 404 iegūšana no IIS (noklusējuma 404 IIS lapa).

Ja es vienkārši piekļūtu www.example.com/api - Es nolecu uz noklusējuma CakePHP sākuma lapu, kuru redzat pēc jaunās instalēšanas ... tāpēc ar pašu instalāciju nav problēmu.

Un šī URL struktūra darbojas lieliski manā vietējā xampp instancē ar Apache.

Šeit ir mani IIS pārrakstīšanas noteikumi:

                    

Kaudze:

  • Windows Server 2016
  • IIS 10
  • PHP 7.1
  • StūraJS 1.6
  • CakePHP 3.5.x
  • Percona XtraDB (MySQL)

Kādi pārrakstīšanas noteikumu pielāgojumi man ir jāveic, lai iegūtu CakePHP maršrutēšanas prefiksu (-us) un visas sekojošās URL daļas, lai tās pareizi atveidotu? Noteikumam vajadzētu rūpēties www.example.com/api/admin/*.

strādāja par jums: Charles Robertson | Vēlies ar mums sazināties?