Ahoj, chtěl bych na svém webu rozjet mod_rewrite. pročítal sem forum i články na internetu, al efurt sem nepochopil, jak by to mělo být.
Chci, aby http://quinix.wz.cz/index.php?page=kontakt
bylo jako
http://quinix.wz.cz/kontakt.html
Ako na to?
<HTML>vytvoris si v rootu .htaccess a do nej:
RewriteEngine On
RewriteRule ^(.+).html$ index.php?page=$1 [L]
dokumentaci najdes na:
http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html
a:
http://httpd.apache.org/docs-2.0/misc/rewriteguide.html</HTML>
Asi to furt nechápu. Mám ten samej systém co Quinix, akorát tam vkládám soubory ".php".
Jestli jsem to dobře pochopil, tak do .htaccess v kořen. adresáři jsem dal toto:
RewriteEngine On
RewriteRule ^(.+).php$ index.php?file=$1 [L]
Abych z adresy:
http://blahapet.wz.cz/index.php?file=./pribehy/index
Zkoušel jsem dát do adres. řádku toto:
http://blahapet.wz.cz/pribehy/index.php
nebo
http://blahapet.wz.cz/pribehy.php
Ale stejně ani jedno nejde. Omlouvám se, ale stále mi to není jasný.
tak jak s to napsal by po zadání
http://blahapet.wz.cz/./pribehy/index.php
měla vyskočit stránka:
http://blahapet.wz.cz/index.php?file=./pribehy/index
stip:
http://www.webzdarma.cz/forum/read.php?f=2&i=19825&t=19825
Tak já nevim, doma na localu mi to funguje perfektně, ale na WZ to nejde, hází 404.
Obsah .htaccess
Options FollowSymlinks
RewriteEngine On
RewriteRule ^(.+).html$ index.php?page=$1 [L]
ErrorDocument 404 /scr/404.php
http://quinix.wz.cz
<HTML>jak se tak divam zapomel jsem olomitkovat tecku.... takze:
RewriteEngine On
RewriteRule ^(.+)\.html$ index.php?page=$1 [L]
jinak jelo mi to na wz i bez toho lomitka ale kazdopadne to zkus takhle</HTML>
Richard: HTTP 404 Soubor nenalezen / File not found
Hlavičky:
http://quinix.wz.cz/uvod.html
GET /uvod.html HTTP/1.1
Host: quinix.wz.cz
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; cs-CZ; rv:1.7.5) Gecko/20041108 Firefox/1.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: cs,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1250,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
HTTP/1.x 404 Not Found
Connection: close
Date: Sat, 19 Feb 2005 15:05:58 GMT
Server: Apache/2.0.48 (Unix)
Vary: Accept-Encoding
Content-Type: text/html
Transfer-Encoding: chunked
<HTML>Mno... jak sleduji strilel jsem vedle, za to sorry...
nicmene jsem ti to opravil takze uz ti to jede.. spravne to je:
RewriteEngine On
RewriteRule ^(.+)\.html /index.php?page=$1 [R,L]
ja to predtim netestoval</HTML>
Díky :)
Zajímavé, že na localhostu to jelo :)
<HTML>Me prave take, ale nezkousel jsem to na serveru wz</HTML>
Raichard: Ještě taková drobnost, chtěl bych aby i v adresním řádku zůstalo neco.html. Takhle se to přepíše na index.php?page=neco.
A navíc to nefunguje na localu, přepíše se to i s celou cestou na disku
zkus místo [R,L] dát [L,QSA] ;)
<HTML>Kdyby jsi cetl ty odkazy na dokumentaci tak bys vedel, ze flag R znamena Redirect (presmerovani).. Neprijde mi tak tezke umazat jedno pismenko s carkou, tobe ano?</HTML>
Nípal: Dík, to funguje
Richard: Pokud vím, to R si mi sám poradil s tím, že to funguje, a jen L nefungovalo
<HTML>L = Last rule
R = Redirect
QSA = Query string append
Z cehoz plyne, ze ani jeden flag tam byt uvedeny nemusi.
Na localu mame ocividne oba jinou verzi apache nez je na WZ, proto ty zmatky. Mozna by nebyl zcela od veci upgrade na wz.</HTML>