#1 Ostatní problémy » RewriteRule z .htaccess nefunguje pro domena.cz/error/** adresy » 2021-02-07 20:42:44

matskiv
Odpovědi: 1

Zdravím,
mám na svém webu přes .htaccess sprovozněné hezké adresy,
ale našel jsem edge case pro který to nefunguje:

domena.cz/blabla - OK
domena.cz/blabla/blabla - OK
domena.cz/error - OK
domena.cz/error/blabla - chyba 404 od endory ("404 - Stránka nebyla nalezena"), nejde to vůbec do mého index.php

Další info:
1) nemám složku s názvem "error"
2) v .htaccess nemám žádné pravidlo pro "/error/", všechno směřuju do index.php
3) na lokálním apachi takový problém nemám

Narazil jsem na to s náhodně vygenerovanými testovacími daty (mega haluz), takže to ani nepotřebuju opravovat,
spíš jsem to nahlásil k prošetřeni, aby se to případně opravilo pro jiné uživatele nebo zdokumentovalo.

P.S.: Když je celej problém založen na textu "error" tak se fakt blbě googli řešení big_smile

Pro jistotu přidávám svoje .htaccess soubory:
/.htaccess :

<IfModule mod_rewrite.c>

  RewriteEngine On
  RewriteBase /

  RewriteCond %{REQUEST_URI} !^public
  RewriteRule ^(.*)$ public/$1 [L]

</IfModule>

/public/.htaccess

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        # -MultiViews 
        Options -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

Zápatí

Založeno na FluxBB | CZ a SK