Zadejte hledaný výraz...

Htaccess a odstranění přípony.html – nefunkční adresáře

Lukáš Havel
verified
rating uzivatele
(1 hodnocení)
24. 8. 2014 12:03:46
Zdravím všechny. Jsem už bezradný proto žádám touto cestou o pomoc.
Mám statický web, kde stránky končí na nežádoucí .html. Tuto příponu jsem odstranil regulárními výrazy v souboru .htaccess takto:
RewriteCond %{THE_REQUEST} ^GET (.*).html HTTP
RewriteRule (.*).html$ $1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(+)$ $1.html
.html zmizelo na konci všech url např.: www.domena.cz/kontakt.html -> www.domena.cz/kontakt
jenže mi nefungují podadresáře.
Abych docílil adresy www.domena.cz/novinky existuje soubor novinky.html
Abych docílil url www.domena.cz/novinky/nejaka-novinka mám na serveru složku novinky a v ní soubor nejaka-novinka.html.
Výše uvedené pravidlo odstraní .html ze souborů přímo v rootu ale podadresáře už nefungují vůbec. Nevíte někdo co s tím?
Potřebuji odstranit .html ze všech url i z podadresářů.
Děkuji mooooc za případné rady.
---------- Příspěvek doplněn 26.08.2014 v 10:18 ----------
NABÍZÍM 500 KČ tomu, kdo vyřeší nebo pomůže vyřešit tuto banalitu se souborem .htaccess.
---------- Příspěvek doplněn 26.08.2014 v 10:33 ----------
Právě se mi podařilo zjistit, v čem je přesně problém.
Výše uvedená pravidla v souboru htaccess opravdu fungují i v adresářích. Bez problému odstraní příponu z každé url a to doslova.
Všechny stránky mi fungují i s odebráním přípony kromě stránky /novinky. Zde je struktura a vysvětlení:
V rootu na serveru mám soubor novinky.html, v rootu mám dále adresář stejnojmenný akorát bez přípony (novinky) a v něm jednotlivé novinky, abych docílil url jak domena.cz/noviny (zde je přehled, seznam všech novinek) tak url domena.cz/novinky/detail-novinky.
Pravidla v htaccess souboru odstraní příponu .html a po vyžádání stránky /novinky (což požaduji stránku novinky.html) ale s odstraněním přípony pomocí htaccess se mi snaží otevřít adresář novinky, tedy složka, kam nemám přístup. Proto mi vždy vyjede hláška: "na tuto stránku nemáte přístup".
Pokud složku přejmenuji třeba na "novinky2" stránka domena.cz/novinky je již poté funkční.
Když mám ale v rootu novinky.html a adresář novinky, url domena.cz/novinky se mi prostě nelze otevřít, server otevírá složku, která je mu blíže. Tato jediná url mi po přidání pravidel do htaccess nefunguje.
Pokud odeberu regulární výrazy, fungují už všechny url, ale jsou i s nežádoucí příponou.
Jak ale z toho ven?
Za vyřešení nabízím 500 Kč.
24. 8. 2014 12:03:46
https://webtrh.cz/diskuse/htaccess-a-odstraneni-pripony-html-nefunkcni-adresare#reply1049818
Samodomo
verified
rating uzivatele
26. 8. 2014 11:14:45
Dobrý den,
zkuste tento návod.
26. 8. 2014 11:14:45
https://webtrh.cz/diskuse/htaccess-a-odstraneni-pripony-html-nefunkcni-adresare#reply1049817
Lukáš Havel
verified
rating uzivatele
(1 hodnocení)
26. 8. 2014 11:31:06
Děkuji za reakci.
Nerozumím ale, kam mám napsat:
Options -MultiViews
Píše se to také do souboru .htaccess?
Hostuji na wedosu a ten bohužel nepodporuje některé funkce. Více zde: http://kb.wedos.com/webhosting/htaccess.html
---------- Příspěvek doplněn 26.08.2014 v 11:53 ----------
Aha, tak jsem se od podpory wedosu právě dozvěděl, že funkce Options -MultiViews je u nich zakázaná.
Zřejmě budu hledat jiný hosting, nemám ale tušení jaký, aby to podporoval...
26. 8. 2014 11:31:06
https://webtrh.cz/diskuse/htaccess-a-odstraneni-pripony-html-nefunkcni-adresare#reply1049816
Zdravím, do zprávy jsem Vám posílal řešení, je otestováno i na Wedosu.
26. 8. 2014 12:05:00
https://webtrh.cz/diskuse/htaccess-a-odstraneni-pripony-html-nefunkcni-adresare#reply1049815
Lukáš Havel
verified
rating uzivatele
(1 hodnocení)
26. 8. 2014 12:16:22
Napsal vcernik;1118485
Zdravím, do zprávy jsem Vám posílal řešení, je otestováno i na Wedosu.
Zdravím,
ano, je to opravdu řešení. Ještě prosím o pomoc, jak stránky z .html přesměrovat 301 na verzi bez html? Veškeré odkazy z navigace mám ve tvaru s příponou .html proto se mi vždy zobrazí url s .html.
V hta jsem před tvůj kód vložil následující a funguje, ale je to nejlepší řešení? :
RewriteCond %{THE_REQUEST} ^GET (.*).html HTTP
RewriteRule (.*).html$ $1
26. 8. 2014 12:16:22
https://webtrh.cz/diskuse/htaccess-a-odstraneni-pripony-html-nefunkcni-adresare#reply1049814
Myslím, že to, co jsi tam vložil, by mělo fungovat bez problémů.
26. 8. 2014 12:30:01
https://webtrh.cz/diskuse/htaccess-a-odstraneni-pripony-html-nefunkcni-adresare#reply1049813
Lukáš Havel
verified
rating uzivatele
(1 hodnocení)
26. 8. 2014 12:31:18
Napsal vcernik;1118485
Zdravím, do zprávy jsem Vám posílal řešení, je otestováno i na Wedosu.
Vše funguje. Vyřešeno. Pošli mi prosím č.ú. na e-mail: info@prekladyihned.cz
Pošlu peníze.
Díky moc všem za pomoc.
26. 8. 2014 12:31:18
https://webtrh.cz/diskuse/htaccess-a-odstraneni-pripony-html-nefunkcni-adresare#reply1049812
Samodomo
verified
rating uzivatele
26. 8. 2014 16:35:44
Napsal xxluky;1118471
Aha, tak jsem se od podpory wedosu právě dozvěděl, že funkce Options -MultiViews je u nich zakázaná.
Zřejmě budu hledat jiný hosting, nemám ale tušení jaký, aby to podporoval...
Když to Váš hosting nepodporuje, tak to vynechejte. Zbytek návodu by měl fungovat.
26. 8. 2014 16:35:44
https://webtrh.cz/diskuse/htaccess-a-odstraneni-pripony-html-nefunkcni-adresare#reply1049811
Napsal Samodomo;1118621
Zbytek návodu by měl fungovat.
Cílem bylo, aby to při adrese /novinky/prvni-novinka našlo soubor /novinky/prvni-novinka.html. Při adrese /novinky soubor novinky.html a ne adresář /novinky. Problémem tedy byly stejně pojmenované soubory a adresáře. Což Váš odkaz bohužel neřeší.
27. 8. 2014 19:01:13
https://webtrh.cz/diskuse/htaccess-a-odstraneni-pripony-html-nefunkcni-adresare#reply1049810
Pro odpověď se přihlašte.
Přihlásit