Java týden
30 % bodů zdarma na online výuku díky naší Slevové akci!
Pouze tento týden sleva až 80 % na e-learning týkající se Javy.

Diskuze: 403 -Forbidden, když je v url slovo "error"

Aktivity (2)
Avatar
rotkopf
Člen
Avatar
rotkopf:23.5.2019 16:50

Dělám si MVC systém a vše funguje tak jak má, dokud nejdu na mymvc/error/... pak to vyhodí 403. Pokud jdu jen na mymvc/error vse je v pořádku.

Zkusil jsem: Ten samý kód jsem dal do jiného kontroleru (TestController) a vše funguje tak jak má.

public function action($parameters){
    $this->header = "Error";
    $this->data = $parameters;
    $this->view = "error";
}

Chci docílit: Je error nějaké rezervované slovo a mám smůlu, nebo je chyba u mě?

 
Odpovědět
23.5.2019 16:50
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:24.5.2019 8:01

Kdybys uvedl link na clanek, ze ktereho vychazis, bylo by mozne dohledat v jejich kodu problem. Ale forko ctou i autori, tak snad budou vedet.
Nejake class prirazujes do promennych hodnoty. To vypada spravne. Ve tvem pripade je error jenom obecny string.
Mozna bys mohl napsat, jakou chybu ti php pise a radky kodu, ktere ji odpovidaji.
Podle mymvc/error/ bych hadal, ze error je nejake rezervovane slovo v .htaccess pro error pages (404, 403, a jine chybove hlasky). Ale jenom hadam, do tveho nastaveni v htaccess nevidim.

Editováno 24.5.2019 8:03
 
Nahoru Odpovědět
24.5.2019 8:01
Avatar
rotkopf
Člen
Avatar
Odpovídá na Peter Mlich
rotkopf:8.6.2019 21:25

články mám pročtené, teď jedu podle sebe. Na nic kloudného jsme nepřišel, tak místo error používám err a funguje to. Takže asi rezervované slovo

 
Nahoru Odpovědět
8.6.2019 21:25
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na rotkopf
Michal Šmahel:11.6.2019 7:20

Ahoj, opravdu se jedná o adresu rezervovanou Apache. Adresy error/404, error/403 jsou obsluhované přímo Apache. Není možné je dobře používat s MVC. Jedině zkusit poladit konfigurace, ale pokud s tím nemáš zkušenosti, nedoporučoval bych to.

Pro tyto adresy si můžeš nastavit soubory (pomocí .htaccess), které je obslouží místo Apache, každopádně ti to však nabourá původní návrh MVC systému (nefunguje tady .httaccess, který vše přesměruje na index.php).

Proč tyto adresy vůbec jsou rezervované... Je to poměrně jednoduché, Apache při své práci občas potřebuje vyhodit chybu 404 (nenalezl požadovaný soubor/adresář) nebo 403 (není povolen přístup k požadovanému souboru/adresáři). Tohle funguje ještě nad tvým MVC - to sice skoro vše směřuje na index.php, ale může se stát, že k tomu nedojde (např. při chybě s oprávněními k souborům). Obecně je zde tento mechanismus pro případy, kdy tyto stavy nejsou ošetřeny vůbec.

Nahoru Odpovědět
11.6.2019 7:20
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
Odpovídá na Michal Šmahel
Michal Šmahel:11.6.2019 7:22

Ono těch rezervovaných adres je více. Další hojně používanou je error/500. Pokud bys potřeboval ještě něco doplnit, dej vědět.

Nahoru Odpovědět
11.6.2019 7:22
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.