Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Zkrácená adresa.

PHP PHP Zkrácená adresa. American English version English version

Aktivity (1)
Avatar
oggymotslp
Člen
Avatar
oggymotslp:8.2.2016 16:49

Zdravím,

mám v databázi různé věci a každé má ID. Jak se dá udělat zkrácená adresa, nyní to mám www.web.cz/index.php?id=4

A vím, že jde udělat www.web.cz/4 jak to mám udělat ?

Jedná se o to, že každé ID má různý text a, tak aby se dalo sdílet ty texty.

Díky za odpovědi.

Odpovědět 8.2.2016 16:49
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
Odpovídá na oggymotslp
Martin Konečný (pavelco1998):8.2.2016 16:56

zdar, podívej se na .htaccess

Nahoru Odpovědět 8.2.2016 16:56
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Bogdan
Redaktor
Avatar
Odpovídá na oggymotslp
Bogdan:8.2.2016 16:58
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php?id=$1
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?id=$1

Zkus. Mělo by to fungovat.

 
Nahoru Odpovědět 8.2.2016 16:58
Avatar
oggymotslp
Člen
Avatar
oggymotslp:8.2.2016 17:14

Zkusil jsem to, ale bez odezvy. Nevím zda to není tím, že mám nastavený špatně WebServer. Používám XAMPP a dle tutoriálů u složky webu mám dané AllowOverride All. Jen si nejsem jist, zda to není tím, že když se kouknu do té složky kde je htaccess, tak tam chybí ta tečka, může to být tím ?

Nahoru Odpovědět 8.2.2016 17:14
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na oggymotslp
David Hynek:8.2.2016 18:04

na konec ještě přidej [L,QSA]

Nahoru Odpovědět 8.2.2016 18:04
Čím víc vím, tím víc věcí nevím.
Avatar
oggymotslp
Člen
Avatar
Odpovídá na David Hynek
oggymotslp:8.2.2016 18:04

Na další řádek ? Nebo za to $1 ?

Nahoru Odpovědět  +1 8.2.2016 18:04
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
David Hynek
Redaktor
Avatar
David Hynek:8.2.2016 18:04

tedy:

RewriteRule ^([a-zA-Z0-9]+)$ index.php?id=$1 [L,QSA]
Nahoru Odpovědět 8.2.2016 18:04
Čím víc vím, tím víc věcí nevím.
Avatar
oggymotslp
Člen
Avatar
Odpovídá na David Hynek
oggymotslp:8.2.2016 18:06

Zatím to nic nedělá, je nutné restartovat webový server ? (Apache)

Nahoru Odpovědět 8.2.2016 18:06
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
David Hynek
Redaktor
Avatar
David Hynek:8.2.2016 18:07

tak zkus ještě cestu:

RewriteRule ^([a-zA-Z0-9]+)$ /index.php?id=$1 [L,QSA]
Nahoru Odpovědět 8.2.2016 18:07
Čím víc vím, tím víc věcí nevím.
Avatar
Nahoru Odpovědět 8.2.2016 18:07
2x piš, jednou debuguj
Avatar
oggymotslp
Člen
Avatar
Odpovídá na David Hynek
oggymotslp:8.2.2016 18:08
RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php?id=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?id=$1 [L,QSA]

V .htaccess mám toto.

Nahoru Odpovědět 8.2.2016 18:08
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
oggymotslp
Člen
Avatar
oggymotslp:8.2.2016 18:11

A chtěl bych se zeptat, zda tam mám to htaccess dobře. Ale nevím proč, ale nezobrazuje mi to tu tečku, která tam má být.

Nahoru Odpovědět 8.2.2016 18:11
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
David Hynek
Redaktor
Avatar
David Hynek:8.2.2016 18:12

tak zkus ten restart, XAMPP používám také a v .htaccess mám skoro totéž a funguje to. Soubor .htaccess musí být v hlavním adresáři

Nahoru Odpovědět 8.2.2016 18:12
Čím víc vím, tím víc věcí nevím.
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na David Hynek
David Hynek:8.2.2016 18:13

máš tam fakt .htaccess ta tečka je tam nutná :)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 8.2.2016 18:13
Čím víc vím, tím víc věcí nevím.
Avatar
oggymotslp
Člen
Avatar
oggymotslp:8.2.2016 18:13

Když se jí tam snažím dopsat, tak to píše:

You must type a file name.

Nahoru Odpovědět 8.2.2016 18:13
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na oggymotslp
David Hynek:8.2.2016 18:14

zkus to ještě takhle:

¨RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ ?id=$1 [L,QSA]
RewriteRule ^([a-zA-Z0-9]+)/$ ?id=$1 [L,QSA]
Nahoru Odpovědět 8.2.2016 18:14
Čím víc vím, tím víc věcí nevím.
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na oggymotslp
David Hynek:8.2.2016 18:16

ten soubor .htaccess vytvoř třeba v PSPadu :)

Nahoru Odpovědět 8.2.2016 18:16
Čím víc vím, tím víc věcí nevím.
Avatar
oggymotslp
Člen
Avatar
Odpovídá na David Hynek
oggymotslp:8.2.2016 18:32

Už to funguje ! Byla tam chyba s názvem toho .htaccess. Vytvořil jsem ho přes cmd a už to funguje.

Děkuji všem co mi poradili.

Nahoru Odpovědět 8.2.2016 18:32
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
Nahoru Odpovědět 8.2.2016 18:34
2x piš, jednou debuguj
Avatar
mkub
Redaktor
Avatar
Odpovídá na oggymotslp
mkub:8.2.2016 21:29

v httpd.conf existuje direktiva, ktora umoznuje zmenit nazov .htaccess suboru, cize da sa vytvorit htaccess subor aj bez uvodnej bodky, ale uvodna bodka hovori pre Unix systemy, ze dany subor je skryty

 
Nahoru Odpovědět  +1 8.2.2016 21:29
Avatar
Odpovídá na oggymotslp
Michal Šmahel (ceskyDJ):8.2.2016 22:04

Jen pro doplnění: Soubor s tečkou na začátku lze vytvořit i klasickou (standartní) cestou. Postupuješ jako při tvorbě normálního souboru, jen název bude

.nazev.

čili napíšeš tečku na obě strany. Tobě konkrétně by to pomohlo při tom přejmenování. Soubor .htaccess si musíš vytvořit v nějakém editoru (jak psal David Hynek) tak jako tak, takže to bylo spíše na doplnění.

Nahoru Odpovědět  +2 8.2.2016 22:04
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 21 zpráv z 21.