mód rewrite - přepsání adr. řádku prohlížeče
15 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Moc v tom ještě neumím chodit a hledal jsem i zde v diskusi, ale stejně nepochopil. Mám adresu: http://blahapet.wz.cz/index.php?file=./midi/index a já bych chtěl z toho dostat: http://blahapet.wz.cz/midi/index.html Soubor .htaccess jsem uložil do složky "midi" a do něj napsal: RewriteEngine on RewriteCond %{HTTP_HOST} ^blahapet\.wz\.cz RewriteRule ^midi/index(.*)\.html$ http://blahapet.wz.cz/index.php?file=$1[L,QSA] Ale stejně mi to nejde. Vím, že ten reg. výraz tam mám blbě. Pomozte, prosím.
-
to ide aj cez PHP: index.php <? if (isset($_GET["file"])) { Header("Location: blahapet.wz.cz" . $_GET["file"]); } ?> ... obsah stranky ...
-
Já vím a díky, ale spíš bych to chtěl, jak jsem psal.
-
IMHO to bude i tim, že to máš ve složce midi, to původní url přece míří do kořenovýho adresáře, takže to co je ve složce midi je tomu úplně fuk. Jak bych to udělal já: RewriteEngine on RewriteCond %{HTTP_HOST} ^blahapet\.wz\.cz RewriteRule ^(.*)\.html$ /index.php?file=$1 [L,QSA] RewriteCond %{HTTP_HOST} ^www.blahapet\.wz\.cz RewriteRule ^(.*)\.html$ /index.php?file=$1 [L,QSA] ale nesmí tam být ta tečka v "file=./midi/index". Mě to takhle fachá.
-
Díky, ale kam mám ten .htaccess teď vrazit? Do rootu nebo do midi?
-
Do rootu
-
Sorry za otravování, fakt v tom neumím chodit, ale nefunguje mi to ani v rootu, ani v midi. Jak si psal, Garofano, odstranil jsem tu tečku, ale musel jsem i za ní následující lomítko, takže nakonec měl link podobu: file=midi/index a stejně nic se nezměnilo.
-
<HTML>RewriteEngine on RewriteCond %{HTTP_HOST} ^blahapet\.wz\.cz RewriteRule ^(.*)\.html$ /index.php?file=$1 [L,QSA] RewriteCond %{HTTP_HOST} ^www.blahapet\.wz\.cz RewriteRule ^(.*)\.html$ /index.php?file=$1 [L,QSA] Tohle opravdu funguje? >> RewriteRule ^(.*)\.html$ /index.php?file=$1 [L,QSA] pri adrese: blahapet.wz.cz/index.php ????? hmmm</HTML>
-
Richarde, trochu jsem tě nepochopil. Mohl bys mi ty nebo někdo jinej, prosím, napsat, jak to teda má bejt? Z odkazu: http://blahapet.wz.cz/index.php?file=./midi/index dostat odkaz v adresním řádku: http://blahapet.wz.cz/midi/index.html
-
Předpokladejme, že máš v rootu .htaccess s tim kódem co sem psal nahoře. Zadej do adress baru http://blahapet.wz.cz/kyselka.html a dej v tom indexu někde vypsat ten $file , vypíše to "kyselka" nebo ne?
-
Garofano: To sice vypíše, i když ten soubor neexistuje. Ale, sorry, furt to nějak nechápu. Musím nějak přepisovat odkazy, nebo je můžu nechat, tak jak jsou, např.: http://blahapet.wz.cz/index.php?file=./midi/index V adresním řádku mi pořád zůstává to samý. Vím, že jsem otravnej a předem se omlouvám. Petr
-
Ten mod rewrite ti dává vlastně alternativu, takže v tom příkladě o kousek výše můžeš napsat adresu http://blahapet.wz.cz/index.php?file=kyselka 1) http://blahapet.wz.cz/index.php?file=kyselka 2) http://blahapet.wz.cz/kyselka.html ale kvůli duplicitě, kterou google nemá rád je pak lepší používat jen jeden typ odkazů.
-
Funguje jen to, když zadám za parametr soubor, kterej je v rootu, např. pokud si dám do rootu soubor "kyselka.php", tak skutečně můžu zadat: http://blahapet.wz.cz/kyselka.html místo doposavadního: http://blahapet.wz.cz/index.php?file=kyselka Problém nastává se všemi soubory, který jsou v adresářích, protože když chci zadat: http://blahapet.wz.cz/midi/index.html Zobrazí se mi pouze ten soubor, t.j. soubor "index.php" ve složce "midi". A jak mám tohle obejít? Díky, Petr
-
Já bych to obešel tak, že bych zadával adresu: http://blahapet.wz.cz/midi_index.html v PHPčku bych to "exploudnul" nenbo "replacenul", pak už si s tim můžeš dělat co chceš a includovat cokoliv tě napadne.
-
Ale modem rewrite to musí jít taky, ne?