Autor Zpráva
Kysuca
Profil *
Ahoj, řeším přesměrování v .htaccess a nemůžu to odladit. Momentálně to mám takhle:

RewriteRule hra-(.*)\.html$ index.php?stranka=detail&id=$1 [QSA,L]
RewriteRule (.)?$ http://www.example.cz/index.php?stranka=kategorie [QSA,P,L]


Problém je v posledním pravidlu. Když to totiž zadám stránku např. /hra-test.html, tak v Request_Uri mám
/index.php?stranka=kategorie&stranka=detail&id=test
. Čili se spojej obě rewrite pravidla do sebe.
Kajman_
Profil *
Vykoná se první pravidlo. Adresa se změní (vnitřně), tak se prochází znovu pravidla a index.php vyhoví druhému pravidlu, tak se také provede (flag QSA přidá dosavadní query string).

To druhé pravidlo vyhoví úplně všemu, co jím vlastně chcete dokázat?
Kysuca
Profil *
Celý htaccess je takhle:

RewriteCond %{http_host} !^(www\.)?example\.cz [NC] 
RewriteCond %{http_host} ^(www\.)?([^.]+)\.example\.cz
RewriteRule hra-(.*)\.html$ index.php?subdomena=%2&stranka=detail&id=$1 [QSA,L]

RewriteCond %{http_host} !^(www\.)?example\.cz [NC]
RewriteCond %{http_host} ^(www\.)?([^.]+)\.example\.cz
RewriteRule (.)?$ http://www.example.cz/index.php?id=%2&stranka=kategorie [QSA,P,L]


Jde mi o to, aby fungovaly adresy např. kategorie.example.cz a pak kategorie.example.cz/hra-test.html
Kajman_
Profil *
Sice stále neznám jejich chtěné chování, ale zkuste u druhé pravidla přidat (asi raději na začátek, ať neztratíte proměnnou ze subdomény).
RewriteCond %{ENV:REDIRECT_STATUS} ^$


Pokud naopak nemá hra- požadavek zpracovávat index.php v dané doméně, ale ten na jiné doméně, tak zadejte absolutní cestu s proxy flagem i v prvním přepisu.
Kysuca
Profil *
Díky za radu. Pomohlo přidání absolutní cesty.

Ještě by mě zajímalo, jestli jde nějak přesměrovat neexistující stránky, uvedu příklad:

Na subdoméně jsou možné pouze dva stavy: 1) root (subdomena.example.cz) 2) detail (subdomena.example.cz/hra-test.html). Potřebuji přesměrovat všechny požadavky, které nemají url .../hry- na root subdomény. Čili pokud někdo zadá subdomena.example.cz/test.php, tak aby se to přesměrovala na subdomena.example.cz.
Davex
Profil
Kysuca:
Příště prosím nezakládej duplicitní téma a při řešení stejného problému pokračuj v původním. Také prosím používej jedno jméno a nevydávej se za několik různých lidí.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0