Autor | Zpráva | ||
---|---|---|---|
tomas2245 Profil |
Zdravím, mohol by mi prosím Vás pekne niekto vysvetliť ako funguje mod_rewrite na prepisovanie URL adries.?
mám tento kód: Options +FollowSymLinks RewriteEngine On RewriteCond %{SCRIPT_FILENAME} !-d RewriteCond %{SCRIPT_FILENAME} !-f RewriteRule ^clanok/(\d+)*$ ./blog.php?clanok=$1 ktorý mi funguje správne: stranka.sk/blog.php?clanok=nejaky-clanok na: stranka.sk/clanok/nejaky-clanok ale neviem či to takto stačí aby to bolo dobré pre vyhľadávanie SEO... prípadne je ešte jedna možnosť cez miesto SCRIPT_FILENAME na REQUEST to by potom vyzeralo ako? všetky adresy by sa dávali napr. do index.php a tam by boli if podmienky na header("location: ..."); ? ale podľa toho druhého postupu sa mi to nedarí spojazdniť. Za každu radu vopred veľmi pekne ďakujem |
||
Josef Přerovský Profil |
#2 · Zasláno: 14. 10. 2018, 16:40:16
RewriteRule ^clanok/(.*)$ blog.php?clanok=$1 [QSA] |
||
tomas2245 Profil |
#3 · Zasláno: 14. 10. 2018, 16:47:26
funguje to, ale stačí len takýto zápis? lebo iné riešenia sú aj také že sa to presmeruje na index.php a tam sa robia ďalšie kroky...
|
||
Joker Profil |
#4 · Zasláno: 15. 10. 2018, 11:35:02
tomas2245:
Stačí, akorát to funguje jen pro adresy (web)/clanok/(něco) Což může pro dané použití vyhovovat, ale někdy je praktičtější řešení zmíněné v [#3], tj. přesměrovat úplně všechno (co není adresa existujícího souboru) na jeden skript, který pak obstará ten zbytek (tj. rozhodne co zobrazit). |
||
tomas2245 Profil |
#5 · Zasláno: 15. 10. 2018, 12:40:37
Joker:
vedel by si mi prosím ťa ukázať nejaký jednoduchý náčrt ktorý bude v tom index.php ako by mohol vyzerať? |
||
T-fon Profil |
#6 · Zasláno: 15. 10. 2018, 13:46:00
Říká se tomu routing, ukázka např. zde
|
||
tomas2245 Profil |
#7 · Zasláno: 15. 10. 2018, 14:38:07
super, toto som presne potreboval :) ďakujem
|
||
tomas2245 Profil |
ono to funguje ale da sa na toto riesenie spravit aj s $_get parametrami?
lebo skusal som tie parametre get davat do htaccess ale asi to treba tiez spravit podmienky v index.php $request = $_SERVER['REDIRECT_URL']; switch ($request) { case '/clanok' : require __DIR__ . '/clanok.php'; break; default: require __DIR__ . '/404.php'; break; } |
||
T-fon Profil |
#9 · Zasláno: 15. 10. 2018, 19:27:02
Určitě najdeš nějaký návod i na toto, např.: blogs.shephertz.com/2014/05/21/how-to-implement-url-routing-in-php
A nebo bych doporučil využít nějakou hotovou knihovnu. |
||
tomas2245 Profil |
#10 · Zasláno: 16. 10. 2018, 19:58:15
T-fon:
okej, ďakujem ti :) |
||
tomas2245 Profil |
#11 · Zasláno: 17. 10. 2018, 10:14:30
ešte by som mal jednu otázku že keď mám na celej stránke už spravené takéto "routovanie" a nikde na stránke neodkazujem na reálne súbory príklad stranka.sk/blog/clanok.php?url=toto-je-clanok ale iba stranka.sk/blog/toto-je-clanok a podobne... google nebude indexovat tie adresy ak nie su nikde v html podobe zverejnené či ich treba nejako zakázať?
|
||
T-fon Profil |
#12 · Zasláno: 17. 10. 2018, 10:30:35
Google neindexuje php soubory, ale URL adresy, čili zaindexuje stranka.sk/blog/toto-je-clanok. Čili na to, na co ty se odkazuješ, to ti google zaindexuje.
|
||
tomas2245 Profil |
#13 · Zasláno: 17. 10. 2018, 10:38:52
T-fon:
diky :) |
||
Keeehi Profil |
#14 · Zasláno: 17. 10. 2018, 14:48:38
tomas2245:
Pokud to ale někde náhodou najde, třeba pokud to nějaký bot náhodou vygeneruje a vytvoří odkaz (což se čistě teoreticky stát může) pak to google zaindexovat může. Spoléhat se na to že někdo něco nenajde jen proto, že o tom neví není typicky není dobrý nápad. |
||
Časová prodleva: 6 let
|
0