redirect chyba – přidává číslo portu za doménu při redirectu

Michwuanquana
Člen | 22
+
0
-

Zdravím,

začal jsem dělat jednu appku založenou na nette. Zatím pracuji na uživatelech, ale je to jen hrubý kód, zbytek je čisté nette.

Problém je v tom, že když někde volám redirect, tak to při přesměrování hodí za doménu port. např. www.example.com:80. To se nelíbí https a vyhazuje v prohlížeči chybu s certifikátem, nicméně program udělá, to co má, jen to přesměrování blbne. Nevíte čím to může být?

S pozdravem,
Michwuanquana

Michal Kumžák
Člen | 106
+
0
-

Jak děláš to přsměrování? Co máš nastavené v routeru?

Michwuanquana
Člen | 22
+
0
-

kdyz odkomentuju v .htaccess tohle:

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

tak to začne hlásit too many request, přitom zacyklené to nemám

Michwuanquana
Člen | 22
+
0
-

tady pak je presenter

namespace App\Presenters;

use Nette;
use Nette\Application\UI\Form;
use App\Model\UserManager;

final class UserPresenter extends Nette\Application\UI\Presenter
{

    private UserManager $userManager;

    public function __construct(UserManager $userManager)
    {
            $this->userManager = $userManager;
    }

    public function renderDefault() {
        if($this->userManager->isLoggined())
            $this->redirect('Homepage:default');
        else
            $this->redirect('User:login');
    }

    public function renderLogout() {
        if(!$this->userManager->isLoggined())
            $this->redirect('User:login');
        else {
            $this->userManager->logout();
            $this->flashMessage('Succesfully logged off!', 'success');
            $this->redirect('User:login');
        }
    }

    public function renderRegister() {

    }

    /**************************************************************************/

    protected function createComponentRegisterForm(): Form {
        $form = new Form;
        $form->addText('name');
        $form->addEmail('email');
        $form->addPassword('pass');
        $form->addPassword('passver');
        $form->addSubmit('send');

        $form->onSuccess[] = [$this, 'registerSucceeded'];
        return $form;
    }

    protected function createComponentLoginForm(): Form {
        $form = new Form;
        $form->addEmail('email');
        $form->addPassword('pass');
        $form->addCheckbox("stay");
        $form->addSubmit('send');
        $form->onSuccess[] = [$this, 'loginSucceeded'];
        return $form;
    }


    public function loginSucceeded(\stdClass $values): void {

        $status = $this->userManager->login($values->email, $values->pass);

        if( $status === true ) {
            $this->flashMessage('Logged in!', 'success');
            $this->redirect('Homepage:default');
        } elseif( $status === -1 ) {
            $this->flashMessage('Account not verified, please check email', 'danger');
            $this->redirect('User:login');
        } else {
            $this->flashMessage('Wrong email or password', 'danger');
            $this->redirect('User:login');
        }
    }

    public function registerSucceeded(\stdClass $values): void {
        if($this->userManager->emailExists($values->email)) {
            $this->flashMessage('Account with this email exists', 'danger');
            $this->redirect('User:register');
        }

        if( $values->pass != $values->passver) {
            $this->flashMessage('Passwords do not match', 'danger');
            $this->redirect('User:register');
        }

        if($this->userManager->register($values->email, $values->name, $values->pass)) {
            $this->flashMessage('Registration was successful, please check your email for veriffication.', 'success');
            $this->redirect('User:login');
        } else {
            $this->flashMessage('Something went wrong, please try it again.', 'danger');
            $this->redirect('User:register');
        }
    }
}
Michal Kumžák
Člen | 106
+
0
-

Michwuanquana napsal(a):

kdyz odkomentuju v .htaccess tohle:

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

tak to začne hlásit too many request, přitom zacyklené to nemám

Asi ti to tam dává i ten port 80 a pak se ti cyklí.

Michwuanquana
Člen | 22
+
0
-

Nevíte prosím jak to opravit?

Michal Kumžák
Člen | 106
+
0
-

Michwuanquana napsal(a):

Nevíte prosím jak to opravit?

A můžeš nám říct co používáš za prostředí? Máš to na lokále, například WAMP, nebo někde na hostingu, na jakém? Nebo používáš docker?

Michwuanquana
Člen | 22
+
0
-

je to na endora.cz

janpecha
Backer | 75
+
0
-

A tohle by ti nepomohlo? https://www.endora.cz/…na-endora-cz

Michal Kumžák
Člen | 106
+
0
-

Michwuanquana napsal(a):

je to na endora.cz

A není možné, že někde v .htaccess děláš přesměrování i s portem?

Michwuanquana
Člen | 22
+
+1
-

janpecha napsal(a):

A tohle by ti nepomohlo? https://www.endora.cz/…na-endora-cz

Díky! Funguje to