Diskuze: .htaccess

Webové servery .htaccess

Aktivity (1)
Avatar
Matěj Kripner
Redaktor
Avatar
Matěj Kripner:13.10.2014 19:10

Zdravím, mám problém s nastavením .htaccess na webu. Snažím se o pěkné URL adresy typu

http://www.example.cz/clanek/hlodavci

Proto se snažím předat adresy do index.php, který je následně zpracuje. To, co zatím v .htaccess mám:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(css|js|icon|zip|rar|png|jpg|gif|pdf)$ index.php [L]
AddType application/x-httpd-php .php .phtml

Nutno říct, že jsem se inspirovat u místních tutoriálů. Problém je však v tom, že když zadám např. zmíněnou adresu http://www.example.cz/clanek/hlodavci, vůbec nedojde k přesměrování. Pokud někdo ví co s tím, prosím poraďte. Hosting mám u onebit.cz.

Odpovědět 13.10.2014 19:10
To understand what recursion is, you must first understand recursion.
Avatar
Tukmak
Člen
Avatar
Odpovídá na Matěj Kripner
Tukmak:13.10.2014 19:27

Musíš celou URL předávat jako parametr. To co tam máš teď dělá to, že ti přesměruje veškeré requesty, kromě existujících souborů na index.php, ale nic nepředá.

Dá se to řešit například takto:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
 
Nahoru Odpovědět 13.10.2014 19:27
Avatar
Matěj Kripner
Redaktor
Avatar
Odpovídá na Tukmak
Matěj Kripner:13.10.2014 20:00

Já nepotřebuji, aby to cokoli předělávalo. Problém je v tom, že k tomu přesměrovávání nedochází.
EDIT: Adresu beru v indexu ze superglobálního pole SERVER.

Editováno 13.10.2014 20:03
Nahoru Odpovědět 13.10.2014 20:00
To understand what recursion is, you must first understand recursion.
Avatar
Fredep
Redaktor
Avatar
Fredep:13.10.2014 20:18

Moc se v tom neorientuji, ale možná by pomohlo použít

RewriteBase /

Některé servery to vyžadují...
EDIT: odpovídám na Matěj Kripner

Editováno 13.10.2014 20:20
Nahoru Odpovědět 13.10.2014 20:18
Týmová práce je důležitá proto, aby bylo možno obvinit z neúspěchu někoho jiného.
Avatar
Matěj Kripner
Redaktor
Avatar
Odpovídá na Fredep
Matěj Kripner:13.10.2014 20:58

To jsem zkoušel - nepomohlo. Ale díky :)

Nahoru Odpovědět 13.10.2014 20:58
To understand what recursion is, you must first understand recursion.
Avatar
Matěj Kripner
Redaktor
Avatar
Odpovídá na Tukmak
Matěj Kripner:14.10.2014 10:41

Ještě dodám, že na localu vše fungovalo. Až na produkci to začalo blbnout.

Nahoru Odpovědět 14.10.2014 10:41
To understand what recursion is, you must first understand recursion.
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Matěj Kripner
Daniel Vítek:14.10.2014 10:44

Může to být nějaká blokace od hostingu, vím, že třeba Pípni tohle zakazuje.

 
Nahoru Odpovědět  +1 14.10.2014 10:44
Avatar
Matěj Kripner
Redaktor
Avatar
Odpovídá na Daniel Vítek
Matěj Kripner:14.10.2014 13:17

Zkusím se poptat podpory, díky!

Nahoru Odpovědět  +1 14.10.2014 13:17
To understand what recursion is, you must first understand recursion.
Avatar
Matěj Kripner
Redaktor
Avatar
Matěj Kripner:14.10.2014 19:14

Všem se moc omlouvám. Budete se mi smát, ale neměl jsem aktivovaný .htaccess :D

Nahoru Odpovědět  +1 14.10.2014 19:14
To understand what recursion is, you must first understand recursion.
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 9 zpráv z 9.