Autor Zpráva
lachim15
Profil
Zdravím,
dělal jsem zákazníkovi jednoduchou webovou prezentaci s jednoduchou administrací. Hosting již má zaplacený u Forpsi, kde se snažím svůj již hotový web zprovoznit. (Web jsem testoval u sebe na Endoře, kde vše funguje suprově)

Jako takové mi odkazy fungují - například url: adresa/contact - jde v pohodě, ale pokud přidám jakoukoli další proměnnou GET (například url: adresa/contact&language=cz tak mi to vyhodí tuto chybu:
nemesisup.cz/files/public/snimek-obrazovky-37.png

Když ale zadám skutečnou adresu: adresa/index.php?s=contact&language=cz tak se stránka v pořádku zobrazí, tedy nejspíš bude chyba v .htaccess.

Můj původní .htaccess:
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?s=$1

Zkoušel jsem i tento, který jsem našel tu na fóru:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=$1 [L]

Oba zápisy se chovají stejně a po zadání další proměnné GET vyhodí chybu.

Od podpory Forpsi jsem dostal odpověď pouze tuto a nic dalšího jsem z nich už neodstal:

"Dobrý den,

Vaše tušení je správné. S velkou pravděpodobností se skutečně jedná o chybu v rewrite pravidlech.
Dle mého názoru v zápise v tuto chvíli nejvíce vadí použití znaku &.
Chyba ASP.NET, která se vám nakonec zobrazila, je víceméně pouze potvrzením chybně zadaného odkazu v url.
Váš kód v PHP není vykonán a jelikož je web na OS Windows s ASP.NET pokusí se server s url pracovat i pomocí ASP.NET."


Setkal se už někdo s tímto problémem, nebo by mi prosím dokázal poradit? S .htaccess ještě sám nedokážu tolik pracovat a tedy vyřešit i tento problém.
RastyAmateur
Profil
lachim15:
Zkusil bych použít flag QSA (query string append) - dokumantace
RewriteRule ^(.*)$ index.php?s=$1 [QSA]
lachim15
Profil
RastyAmateur:
QSA bohužel nepomohlo, zkusím ještě mrknout na tu dokumentaci. díky za odpověď
Davex
Profil
lachim15:
Parametry v URL začínají znakem otazník.

adresa/contact?language=cz
lachim15
Profil
Aha, jsem myslel, že "?" již adresa obsahuje, když to přepisuji v .htaccess (před přepisem index.php?s=contact). Každopádně po nahrazení "&" za "?" se adresa načte. Díky za radu - tohle by mě nenapadlo :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0