Htaccess a relatívna cesty – Webové servery (Apache, IIS...), .htaccess – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Htaccess a relatívna cesty – Webové servery (Apache, IIS...), .htaccess – Fórum – Programujte.comHtaccess a relatívna cesty – Webové servery (Apache, IIS...), .htaccess – Fórum – Programujte.com

 

Majo
~ Anonymní uživatel
78 příspěvků
31. 3. 2019   #1
-
0
-

Ahojte,

mám jednoduchý htaccess súbor, ktorý mi robí pekné URLky:

RewriteEngine On

RewriteRule ^([a-zA-Z0-9]+)$ index.php?p=$1
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?p=$1

Ak zadám adresu v tvare example.com/novinky všetko ide ako má, ak ale načítam example.com/novinky/ s lomkou na konci, tak sa síce obsah zobrazí, ale bez CSS, JS a pod.

Na načítavanie CSS, JS a pod. používam relatívne adresy, tzn. žiadne pevné linky. Tieto adresy vyzarú nasledovne:

<link href="vendor/font-awesome-5/css/fontawesome-all.min.css" rel="stylesheet" media="all">

Takže to nenačítava z example.com/vendor... ale z example.com/novinky/vendor...

Ako takému niečomu predísť? Dávať fixné adresy na súbory mi príde trošku mimo, je nejaký iný krajší spôsob? 

Ďakujem pekne.

Nahlásit jako SPAM
IP: 95.105.210.–
Kit+14
Guru
31. 3. 2019   #2
-
0
-

#1 Majo
Do výstupního HTML můžeš umístit 

<base href="http://example.com/" />

Všechny relativní odkazy ji budou používat jako výchozí.

BTW: Část za otazníkem je zbytečná, lepší je parsovat v PHP přímo originální URL.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Majo
~ Anonymní uživatel
78 příspěvků
2. 4. 2019   #3
-
0
-

#2 Kit

Vďaka za odpoveď, to znie ako super riešenie.

Ako presne myslíš to parsovanie cez PHP? Ja si cez index.php predávam podstránky v danom adresári  a kontrolujem ich cez file_exist().

Vďaka za dodatočné info.

Nahlásit jako SPAM
IP: 95.105.210.–
Kit+14
Guru
3. 4. 2019   #4
-
0
-

#3 Majo

.htaccess mívám v této podobě:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

URI z dotazu dostaneš v proměnné $_SERVER['REQUEST_URI'], je pak jednoduché ho rozebrat a případně vypsat: 

$parsedUrl = parse_url($_SERVER['REQUEST_URI']);
var_dump($parsedUrl);

Výhodou je, že se ti zachová původní URL včetně všech parametrů, které můžež zpracovat z $_GET i $_POST dle potřeby. Lomítko na konci URL můžeš zpracovat jak chceš, třeba ho i ignorovat. Krásně se tak dá zpracovat REST API.

Nahlásit jako SPAM
IP: 81.19.3.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

Podobná vlákna

Cesty ke složkám — založil Domo

Výpis cesty — založil Shadow

Servlety - cesty — založil Solo

Cesty k adresarum — založil nobody

Zefektivneni hledani cesty — založil shunkoplex

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý