aplikace po nahrání na hosting hází error tikající se limit internal recursion

Kureii
Člen | 17
+
0
-

Dobrý den,
ve xampp jsem udělal funkční nette aplikaci. Když jsem jí dal na hosting tak funguje pouze uvodní stránka, pokud kliknu na přesměrující odkaz (na localhostu funkčni) vyhodí mi server chybovou hlášku

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at info@active24.cz to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.

a v logu se píše konkrétně toto

Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: domena.cz

nevím jestli jsem jen něco neudělal, jestli je chyba na straně hostingu nebo něco jiného, pokud nějáké informace chybí stačí říct. Předem díky za pomoc (btw. hosting linux na active 24)

F.Vesely
Člen | 368
+
0
-

Ukaz .htaccess v rootu.

Kureii
Člen | 17
+
0
-
<IfModule mod_autoindex.c>
	Options -Indexes
</IfModule>

# enable cool URL
<IfModule mod_rewrite.c>
	RewriteEngine On
        RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
        RewriteRule ^$ www/ [L]
        RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$
         RewriteRule (.*) www/$1 [L]
	# RewriteBase /

	# use HTTPS
	# RewriteCond %{HTTPS} !on
	# RewriteRule .? https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

	# prevents files starting with dot to be viewed by browser
	RewriteRule /\.|^\.(?!well-known/) - [F]

	# front controller
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule !\.(pdf|js|ico|gif|jpg|jpeg|png|webp|svg|css|rar|zip|7z|tar\.gz|map|eot|ttf|otf|woff|woff2)$ index.php [L]
</IfModule>

# enable gzip compression
<IfModule mod_deflate.c>
	<IfModule mod_filter.c>
		AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json application/xml image/svg+xml
	</IfModule>
</IfModule>

edit: .htaccess vážně nerozumím

Editoval Kureii (25. 8. 2019 18:31)

F.Vesely
Člen | 368
+
0
-

Tenhle .htaccess mas ve slozce www? Mas jeste nejaky ve slozce nad tim (DocumentRoot), nebo mas DocumentRoot nasmerovanej do tehle slozky?

Kureii
Člen | 17
+
0
-

F.Vesely napsal(a):

Tenhle .htaccess mas ve slozce www? Mas jeste nejaky ve slozce nad tim (DocumentRoot), nebo mas DocumentRoot nasmerovanej

v tom root je pouze toto

Require all denied

Editoval Kureii (25. 8. 2019 20:10)

Kureii
Člen | 17
+
0
-

Někdo nápad co s tím ?

Gappa
Nette Blogger | 198
+
0
-

Tohle se špatně debuguje, když člověk nemá přístup k tomu serveru, na kterém to zlobí – a dost často i tak :)

Já bych začal tím, že bych v tom .htaccessu nechal jen redirect, který slouží k rewritu cool url pro Nette, tj.:

# enable cool URL
<IfModule mod_rewrite.c>
    RewriteEngine On

    # front controller
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule !\.(pdf|js|ico|gif|jpg|jpeg|png|webp|svg|css|rar|zip|7z|tar\.gz|map|eot|ttf|otf|woff|woff2)$ index.php [L]
</IfModule>

A podívat se, co to dělá.

Ještě by asi bylo dobré se zeptat, co je to za verzi Nette? Ale asi nějaká novější, než 2.3, tam redirect na HTTPS dělala aplikace sama, když se to zaplo v routeru – to by mohlo způsobovat hezkou redirect smyčku, když se to pralo s VH/htaccess :)

Kureii
Člen | 17
+
0
-

Používám nette 3.0 a uprava nijak nepomohla zkusím napsat na podporu jaká úprava by mohla pomoci?
edit:
na stránce mám https

Editoval Kureii (28. 8. 2019 21:20)

Gappa
Nette Blogger | 198
+
0
-

Divné… pak už mě teda napadá jen všechny .htaccess odstranit a pokusit se přistoupit ručně na index.php aplikace – jestli to ani tak nepůjde, pak musí být něco špatně na hostingu.

tomat
Člen | 16
+
0
-

Zkus povolit

# RewriteBase /

Kureii
Člen | 17
+
0
-

Zdravím, zkoušel jsem všechny rady a nic nepomohlo

chemix
Nette Core | 1294
+
0
-

Zkus zakomentovat “<IfModule mod_rewrite.c>” treba ten modul neni nainstalovany nebo povolen a spadne to na tom, takhle pres ten if se to treba neaplikuje ale nejde to poznat. (I tu ukoncovaci cast)

Phalanx
Člen | 310
+
-2
-

Root htaccess má být takhle:

RewriteEngine On
RewriteRule (.*) www/$1 [L]

Tvůj kód je

Require all denied

proto se ti to ani nedostane do www/.htaccess a dělá ti to smyčku.

Případně zkus kontaktovat support z Active24.

Kureii
Člen | 17
+
0
-

zjistil jsem že ta chyba nastane kdykoliv se zkusím připojit k databazi, na mém localhostu normálně tu externí databási načtu ale na hostingu to hodí tu chybu

edit: jakmile se pokusím v presenteru připojit na databasi tak už je problém

Editoval Kureii (9. 9. 2019 14:00)

Kureii
Člen | 17
+
0
-

Dokáže někdo najít řešení?

h4kuna
Backer | 740
+
0
-

Hosting má veřejného adminera nebo phpMyAdmina? Přes ně se do databáze dostaneš? Používáš stejný přístupy jako v aplikaci?

Kureii
Člen | 17
+
0
-

Hosting má přístup do databáze i přes adminer i přes phpmyadmin, přes ně není v přístupu problém. Na localhostu mi ta databáze normálně v aplikaci funguje.

nightfish
Člen | 468
+
0
-

@Kureii
Zkus se podívat do tématu https://forum.nette.org/…eb-ve-slozce, v něm se kombinace Active24 a HTTPS řešila.

Kureii
Člen | 17
+
0
-

nightfish napsal(a):

@Kureii
Zkus se podívat do tématu https://forum.nette.org/…eb-ve-slozce, v něm se kombinace Active24 a HTTPS řešila.

Zkouším to ale nemůžu překonat chybu :

PHP Fatal error:  Uncaught Error: Call to a member function getByType() on integer in /www/doc/www.domena.cz/www/www/index.php:16
Stack trace:
#0 {main}
  thrown in /www/doc/www.domena.cz/www/www/index.php on line 16

kod v indexu mám takovýto :

<?php
declare(strict_types=1);

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
    if ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' && isset($_SERVER['SERVER_PORT']) && in_array($_SERVER['SERVER_PORT'], [80, 82])) { // https over proxy
        $_SERVER['HTTPS'] = 'On';
        $_SERVER['SERVER_PORT'] = 443;
    } elseif ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'http' && isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 80) { // http over proxy
        $_SERVER['HTTPS'] = 'Off';
        $_SERVER['SERVER_PORT'] = 80;
    }
}

//$container = require __DIR__ . '/../app/bootstrap.php';
$container = require '/www/doc/www.domena.cz/home/app/Bootstrap.php';
$container->getByType('nette\application\application')->run(); //zde chybová hláška
Marek Bartoš
Nette Blogger | 1146
+
0
-

A v Bootstrap.php máš co, že ti to vrací integer? :'D

Kureii
Člen | 17
+
0
-
<?php

declare(strict_types=1);

namespace App;

use Nette\Configurator;


class Bootstrap
{
	public static function boot(): Configurator
	{
		$configurator = new Configurator;

		//$configurator->setDebugMode('23.75.345.200'); // enable for your remote IP
		$configurator->enableTracy('/www/doc/www.domena.cz/home/log');

		$configurator->setTimeZone('Europe/Prague');
		$configurator->setTempDirectory('/www/doc/www.domena.cz/home/temp');

		$configurator->createRobotLoader()
			->addDirectory(__DIR__)
			->register();

		$configurator->addConfig('/www/doc/www.domena.cz/home/app/config/common.neon');
		$configurator->addConfig('/www/doc/www.domena.cz/home/app/config/local.neon');

		return $configurator;
	}
}
Marek Bartoš
Nette Blogger | 1146
+
+1
-

No jasně. Namíchal jsi verzi 2.4 a 3.0. On ten index taky už vypadá trochu jinak.

https://github.com/…ww/index.php#…

Kureii
Člen | 17
+
0
-

Mabar napsal(a):

No jasně. Namíchal jsi verzi 2.4 a 3.0. On ten index taky už vypadá trochu jinak.

https://github.com/…ww/index.php#…

Dobře děkuju to pomohlo :) Bohužel ani přiložený návod mi nepomohl stále nemohu obejít error

Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: https://www.domena.cz/
Kureii
Člen | 17
+
0
-

Vážně nevím co už zkusit na podpoře mi řekli ať kontaktuju vývojáře aplikace…

Pavel Kravčík
Člen | 1180
+
+2
-

@Kureii: Jiný hosting. :)

Kureii
Člen | 17
+
0
-

Tak postavím stránku na WordPressu a bude… Nemůžu z jistých důvodů zvolit jiný hosting

Marek Bartoš
Nette Blogger | 1146
+
0
-

Do rootu projektu

# Redirect request to www folder
<IfModule mod_rewrite.c>
    RewriteEngine On
    #RewriteBase /
    RewriteRule ^(.*)$ www/$1 [ns,L,QSA]
</IfModule>

Do /www

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L]

Máš ten htaccess takový chaotický, zbytek smaž. Pokud má hosting vlastní htaccess, tak na něj nesahej, případně ho postni sem.