Autor Zpráva
Petr-K
Profil *
Zdravím,
chtěl bych se zeptat jak bych měl nejelegantněji vyřešit následující situaci.

Mám dvě domény .cz a .com (.com je nastavena jako alias pro .cz). Na .com jsou stránky v angličtině a na .cz v češtině. Nyní jsem nastavoval .htaccess pro hezké url, ale narazil jsem na menší problem, který nevím jak vyřešit.

Ukázka z .htaccess
RewriteRule ^(prices|cenik)$ index.php?page=pricelist [L,QSA]

V ideálním případě by url měla vypadat takto domena.com/prices nebo domena.cz/cenik. Nicméně, funkční jsou i tyto url (logicky): domena.com/cenik nebo domena.cz/ prices

Takže mé 2 dotazy jsou následující:
1) Jak mám zabezpečit a nebo přepsat .htaccess aby nemohla nastat situace domena.com/cenik nebo domena.cz/ prices
2) Přestože jsem na stránkách nikde nevytvořil odkaz na adresu domena.com/cenik nebo domena.cz/prices, může se tato nechtěná kombinace objevit někde ve vyhledávači?

Děkuji
P.
Marschmallow
Profil
Petr-K:
1.) Jaká je struktura úložiště (FTP)?
2.) Není to možné. Ale je možné, že někdo jiný na jiném webu odkáže na tuto špatnou URL a vyhledávač si ji už bude pamatovat.
Petr-K
Profil *
[#2] Marschmallow
K čemu je zapotřebí struktura FTP???

Nicméně, již jsem přišel na částečné řešení:
RewriteCond %{HTTP_HOST} domain\.com$ [NC]
RewriteRule ^prices$ index.php?page=pricelist [L,QSA]

RewriteCond %{HTTP_HOST} domain\.cz$ [NC]
RewriteRule ^cenik$ index.php?page=pricelist [L,QSA]

Nyní však přišel další problém a to více RewriteRule pro jednotlivé RewriteCond. Použil jsem při tom flag Skip [S]:
RewriteCond %{HTTP_HOST} domain\.com$ [NC] 
RewriteRule .? - [S=2] 
RewriteRule ^prices$ index.php?page=pricelist [L,QSA]
RewriteRule ^contact$ index.php?page=contact [L,QSA]


RewriteCond %{HTTP_HOST} domain\.cz$ [NC] 
RewriteRule .? - [S=2] 
RewriteRule ^cenik$ index.php?page=pricelist [L,QSA]
RewriteRule ^kontakt$ index.php?page= contact [L,QSA]

A výsledek? Začalo to fungovat přesně naopak:
domain.com/cenik a domain.com/kontakt >> načtená anglická mutace stránek
domain.com/prices a domain.com/contact >> Error 404

Nějaký tip, prosím?


pozn. Na řádku 10 mezera není, ta mi tam vznikla teď, když jsem vracel kód po x úpravách a pokusech do původní podoby.
Davex
Profil
Petr-K:
Mít pro každou adresu vlastní pravidlo je špatné řešení. Pomocí univerzálního pravidla předávej všechny adresy PHP skriptu, kde se teprve bude rozhodovat o obsahu stránky.
Petr-K
Profil *
[#4] Davex
Děkuji, podívám se na to.
P.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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