Diskusia: Změna adresy přes .htaccess

Tvůrce

Zobrazené 10 správy z 10.
Na prispôsobenie obsahu a reklamy, poskytovanie funkcií sociálnych médií a analýzu našej návštevnosti používame súbory cookie. Informácie o tom, ako náš web používaš, zdieľame s našimi partnermi pre sociálne médiá, inzerciu a analýzy. Partneri môžu tieto údaje kombinovať s ďalšími informáciami, ktoré si im poskytol alebo ktoré získali v dôsledku toho, že používaš ich služby.
Používame nevyhnutné cookies na fungovanie webu a s tvojím súhlasom aj analytické a marketingové cookies.
Zaisťujú základné funkcie, bezpečnosť a služby, ktoré si si vyžiadal. Nedajú sa vypnúť.
| Služba | Poskytovateľ | Účel | Cookies a úložisko | Doba uloženia |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Prevádzka webu, relácia, prihlásenie a uloženie nastavenia cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relácia až 1 rok |
| Google Tag Manager | Správa značiek a načítanie meracích nástrojov webu. | Žiadne | Neukladá sa | |
| Google Fonts | Načítanie typografie webu. | Úložisko riadené poskytovateľom | Podľa podmienok poskytovateľa | |
| Google Hosted Libraries | Načítanie potrebných knižníc a štýlov webu. | Úložisko riadené poskytovateľom | Podľa podmienok poskytovateľa | |
| Google reCAPTCHA | Ochrana formulárov a webu pred zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relácia až 180 dní | |
| YouTube | Prehrávanie vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relácia až trvalé úložisko | |
| Vimeo | Vimeo | Prehrávanie vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relácia až 2 roky |
| Facebook Login | Meta | Prihlásenie pomocou účtu tretej strany. | Úložisko riadené poskytovateľom | Relácia až 1 rok |
| GoPay | GoPay | Spracovanie používateľom vyžiadanej platby. | Úložisko riadené poskytovateľom | Podľa podmienok poskytovateľa |
Pomáhajú nám porozumieť používaniu webu a zlepšovať ho.
| Služba | Poskytovateľ | Účel | Cookies a úložisko | Doba uloženia |
|---|---|---|---|---|
| Google Analytics 4 | Meranie návštevnosti a používania webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Meranie návštevnosti a používania webu. | _clck, _clsk, _cltk | Relácia až 1 rok |
Slúžia na meranie kampaní, personalizáciu reklamy a marketingovú komunikáciu.
| Služba | Poskytovateľ | Účel | Cookies a úložisko | Doba uloženia |
|---|---|---|---|---|
| Google Ads | Meranie kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relácia až 90 dní | |
| Meta Pixel | Meta | Meranie kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Meranie kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relácia až trvalé úložisko |
| LinkedIn Insight | Meranie kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relácia až 1 rok | |
| Ecomail | Ecomail.cz | Meranie kampaní, reklama a remarketing. | ecmid, Úložisko riadené poskytovateľom | Podľa podmienok poskytovateľa |
| Atribúcia kampaní ITnetwork | ITnetwork | Priradenie návštevy a objednávky ku kampani. | campaign_clid[*], user_session_context | Až 1 rok |


Obvyklý požadavek je přesně obráceně. Zkus zagooglit "hezká URL".
Ahoj, tohle se většinou nepřevádí, ale pracuje se rovnou s tou lomítkovou variantou. Také jsem si dříve myslel, že to tu adresu převede (a asi by se to i dalo udělat), ale dělá se to tak, že si v .htaccess převedeš všechny požadavky na index. A na indexu si potom pomocí explode rozložíš adresu polde lomítek na pole. To si potom dále zpracuješ. Lépe se to dělá když máš např. MVC architekturu, ale určitě si s tím poradíš i takhle. Typuji, že nepoužíváš objekty, takže budeš muset nějak vyřešit, aby ty parametry pak viděly všechny stránky. Nevím, jak moc ošklivé je cpát je do GETu, ale asi lepší, než ti zbytečně motat hlavu s nějakým statickým registrem.
Jaký statický registr? Obsah prvního parametru GET dávám do Simple Factory. Druhý parametr se pak stane klíčem do DB.
Pár příkladů na mod_rewrite jsem našel na
http://mike.treba.cz/…a-hezke-url/
Já ten .htaccess celkem proklínal, protože jsem takhle také našel nějaké řešení a pak přestaly fungovat sessions.
Statický registr je imho nejjednodušší objektová náhrada glob. proměnných. Prostě by měl třídu s nějakým polem parametrů Trida::$clanek, Trida::$parametry. Ale imho to může prostě nacpat jako $_GET['clanek'], $_GET['parametry'], kde clanek bude první parametr v tom URI stringu.
On to objektové mít nebude, to jsem již psal, proto musí nějak vyřešit předávání dat, GET se nabízí jako přirozená cesta jak to PHP dělá, vlastně by si nasimuloval ty parametry jako by přišly normálně z GETu.
Nejjednodušší je ponechat v poli $_GET a číst ho dle potřeby. Nikdy do něj nezapisovat.
Místo do statického registru si podobná data ukládám do modelu, který mi pak rovnou poskytuje potřebné deriváty.
.htaccess používá dost specifický jazyk. Je velmi jednoduché v něm něco poplést.
Jak jednou pravil David Jančík: "Mě to ale nezajímá. Stejně jako nechci
pochopit ženu, tak nechci pochopit .htaccess." 
Dan modely ani objekty nemá, proto si buď udělá statickou třídu, nebo zapíše do GET nebo použije něco ošklivého jako GLOBALS. Zapsat do GET mi přijde jako nejlepší možnost pro jeho případ, udělá to jen jednou a zbytek skriptů se bude tvářit jako by parametry přišly od uživatele.
Našel jsem si tohle -
# mujweb.cz/?page=neco > mujweb.cz/neco/
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ ?page=$1
a
# mujweb.cz/?page=neco&stranka=druha > mujweb.cz/neco/druha
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/([^/]+)?/?$ ?page=$1&stranka=$2
ale nevím jak to spojit. jak jsem již psal,to &stranka= tam nebude vždy..
No psal jsem ti, že bych to takhle nepřeváděl, ale když na tom trváš...
RewriteEngine On tam musí být každopádně
To Base záleží na daném hostingu, někde to má být, někde ne. Musíš
zkusit.
2 podmínky jsou stejné, to určuje že se má přesměrovat jen tehdy, když soubor neexistuje. Díky tomu se ti nebudou přesměrovávat obrázky a podobně.
Rewrite rule použij to druhé, jen nechápu proč tam je page a stránka. To je trochu prase kód. Buď anglicky, nebo česky. A hlavně to znamená to samé. Smysl by dávala třeba sekce a stranka.
Možná k těm parametrům dává smysl spíše clanek a parametr, skript a akce a podobně.
Zobrazené 10 správy z 10.