Autor Zpráva
Mufna
Profil
Zdravím Vás. Po dlouhé době prosím o radu. Na jedné doméně provozuju jak www stránky, tak i e-shop. E-shop je umístěn v adresáři /shop/ a běží jakoby na subdoméně (tedy http://shop.domena.cz). Potřebuji upravit .htaccess tak, aby se sice přesměrovávalo do adresáře /shop/, pokud jde os tránky e-shopu, ale zároveň bych potřeboval odstranit z URL ten adresář /shop/. Aby to bylo jasné, tak v tuto chvíli když procházím e-shopem, tak se vytváří URL ve tvaru:

http://shop.domena.cz/shop/konkretni-stranka

a já bych potřeboval, aby se vytvořilo pouze

http://shop.domena.cz/konkretni-stranka

Zároveň ale se index.php musí hledat v adresáři /shop/, protože v rootu webu je normální www stránka (tedy ne e-shop)

Upravit potřebuji toto:

RewriteCond %{HTTP_HOST} ^(www\.)?shop.domena.cz$
RewriteCond %{REQUEST_URI} !^/shop/
RewriteRule (.*) /shop/$1 [L]
RewriteCond %{HTTP_HOST} ^(www\.)?shop.domena.cz$
RewriteCond %{REQUEST_URI} !^/shop/
RewriteRule (.*) /shop/$1 [L]
Davex
Profil
To pravidlo jen podstrkává a nepřesměrovává, takže se domnívám, že by stačilo v e-shopu opravit odkazy, aby v cestě nebyl obsažen adresář /shop.
Mufna
Profil
Davex:

Jenže já tam právě potřebuju mít ten adresář /shop/ takto nastavený. Kdybych to takto nepotřeboval a mohl nastavit jako base adresář pro e-shop jen /, tak by to bylo v pohodě. Bohužel když někde v configu e-shopu nastavím jen /, tak pak mám zas problémy s adminem e-shopu. Takže musím nechat to nastavení hlavního adresáře na /shop/, ale pak to potřebuju "umazat" z URL skrz .htaccess.
Davex
Profil
To přepisovací pravidlo je v pořádku - pro subdoménu přepisuje všechny cesty z kořene webu do podadresáře /shop/. Možná by pomohlo přepisovat přímo na skript e-shopu.

RewriteCond %{HTTP_HOST} ^(www\.)?shop.domena.cz$
RewriteCond %{REQUEST_URI} !^/shop/
RewriteRule (.*) /shop/index.php?cesta=$1 [L]
RewriteCond %{HTTP_HOST} ^(www\.)?shop.domena.cz$
RewriteCond %{REQUEST_URI} !^/shop/
RewriteRule (.*) /shop/index.php?cesta=$1 [L]

Bohužel když někde v configu e-shopu nastavím jen /, tak pak mám zas problémy s adminem e-shopu.
Pravidla mod_rewrite nejsou určena k obcházení nedostatků provozovaných skriptů. Nejdřív musí správně pracovat e-shop, a pak se mohou nasazovat přepisovací pravidla. Pokud s tím e-shop neumí spolupracovat, tak by se měl opravit on, aby mohl být bez problémů v adresáři /shop/, ale na stránkách vytvářel odkazy do kořene webu.
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.

Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:


Běda vám, jestli to bude blábol.

0