Autor Zpráva
Enngage
Profil
Ahoj,

Vyvíjím vlastní CMS a měl bych otázku jak docílit něčeho takového:

př. CMS je na adrese:

localhost/cms/index.php (tedy ve složce cms)

pro zobrazení stránek používám aliasy ve formátu:

localhost/stranky/informacni-technologie

Problém je právě, že musím použít klíčové slovo "stranky", které v rewrite rule slouží jako identifikátor aliasu. Co bych chtěl je:

localhost/informacni-technologie

Problém je, že nevím jak správně odchytit tu adresu. Dokážu zprovoznit localhost/alias, ale pak když chci přistoupit na localhost/cms/, tak se mi aplikuje pravidlo přepsání a stránka se nezobrazí, proto bych potřeboval nějak říct, že složka "cms" by se měla nějak ignorovat.

Snad je to srozumitelné, budu rád za každou radu. Včera jsem 5 hodin hledal řešení ve všech možných příkladech na googlu, ale nepodařilo se mi to aplikovat na můj příklad.
Kajman
Profil
Před jinými pravidly zakážete další pravidla pro složku cms např. takto.
RewriteRule ^cms/ - [L]

Jinak většinou se kontroluje, zda existuje soubor nebo adresář, jinak se nepřepisuje. Viz. Řešení některých častějších problémů (FAQ) » Univerzální obecné pravidlo
Enngage
Profil
Kajman:
Děkuju moc, hned jak přijdu domů, tak vyzkouším.

Jinak s použitím aliasu jsem narazil na problém, že se přesměrovávali i všechny obrázky, odkazy (scripty, css), které neměly formát absolutní adresy. To jse vyřešil použití <base> v hlavičce, funguje to jak má, spíš jsem se chtěl zeptat zda jde o korektní řešení.

Edit:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

By mělo fungovat, omlouvám se, ale celý ten htaccess mě strasně mate.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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