Chtěl bych na svých stránkách předělat odkazy, aby byly vice logictejsi.
Precetl jsem si uz radu clanku i threadu o mod_rewrite, ale porad je to pro me spanelska vesnice :/ A uz ted nemam nervy na to s tim zapolit sam, proto tu zadam o pomoc ;)
napr. chci z prvni adresy udelat to druhe
1) http://www.cipino.wz.cz/index.php?sekce=webdesign&podsekce=odkazy
2) http://www.cipino.wz.cz/webdesign/odkazy/
Nejak se mi nedari spravne zapsat to pravidlo, kdo mi ho spravne napise, budu mu nesmirne zavazan ;)
Diky za pomoc.
Asi jsi spatne hledal, nebot presne toto pravidlo je naplni hned nekolika dotazu v ruznych forech. Napr: http://www.abclinuxu.cz/forum/show/71199
Navic predpokladam, ze to chces naopak, tj, do prohlizece zadat http://www.cipino.wz.cz/webdesign/odkazy/ a chces, aby se ti zobrazil obsah stranky http://www.cipino.wz.cz/index.php?sekce=webdesign&podsekce=odkazy - jinak to totiz asi nema moc smysl :-)
<HTML>RewriteEngine On
RewriteRule ^(.+)/(.+)/$ index.php?sekce=$1&podsekce=$2 [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>
když jsem na to tady narazil, tak se zeptám taky:
potřeboval bych přepsat adresu http://www.alinterier.cz/projekt-parabelum/ ... aby se zobrazilo http://www.projekt-parabelum.cz/ ... Jde to? Pokouším se následovně:
RewriteEngine On
RewriteRule ^www\.alinterier\.cz/projekt-parabelum/$
http://www.projekt-parabelum.cz/ [L,QSA]
Co je blbě, já do toho rewritu mov nevidim.
stip > :-) No neim... to asi nepůjde ;))) ... TO je jako by sis chtěl přepsat třeba www.blbec.cz na www.webzdarma.cz .. byl by trochu bordel ne ;) ...
Nebo teďka mě napadlo, takhle by už nikdo neměl doménu .wz nebo tak... pač by si to všici přepsali..
.. takže asi ne-e ;))
stip: Trochu schopnosti rewrite enginu precenujes :)
No mě to taky bylo divný, ale řekl mi poskytovatel místa, že když mám zaregistrovanou doménu www.alinterier.cz i www.projekt-parabelum.cz a všechno na jednom disku tak není schopen zařídit aby adresa vypadala jako :
http://www.projekt-parabelum.cz/index.php
ale jenom:
http://www.alinterier.cz/projekt-parabelum/index.php
tak jsem to chtěl řešit přes mod rewrite.
Tak uz mi to funguje, jak jsem chtel.
Diky Richardovi a Timovi za ty poskytle odkazy a preji hezky den.
Můžete někdo poradit? Řeším podobný problém v sekci Podpora:
http://www.webzdarma.cz/forum/read.php?f=6&i=21693&t=21693
stip:
Díky, ale já to mám trochu komplikovnější, jak jsem později zjistil. Nevím jak to s tím souvisí, ale mám mnou nadefinovanou fci v PHP, která vkládá mezery za interpunkční znaménka do textu od uživatelů a jakmile přepíšu:
RewriteRule ^(.+).html$ index.php?file=$1 [L]
na
RewriteRule ^(.+).php$ index.php?file=$1 [L]
Tak mi PHP vyhodí Fatal error:
Cannot redeclare tab() (previously declared in /3w/wz.cz/b/blahapet/functions/tab.php:2) in /3w/wz.cz/b/blahapet/functions/tab.php on line 2
Zkoušel jsem i dát třeba ".php3" do RewriteRule a potom samotnej soubor přejmenovat na :
./pribehy/index.php3
Opět žádný výsledek, jsem z toho magor.
to rewriterule se pak pouziva imho i na includovany soubory, takze pokud index.php includuje nejaky soubor (treba foo.php), includuje vlastne index.php?file=foo (takze sam sebe).
Mozna kecam ale davalo by to smysl :)
Z toho jsem taky trochu jelen. To by s tím nemělo nijak souviset. Tu funkci máš uvnitř, nebo ji includuješ odjinud? Zkus jí dát dovnitř, bez includu, ale to by mělo být taky jedno. Fakt nevím.
Jejda, on mě funous předběhl a napadlo ho to samý. Třeba na tom něco bude.
<HTML>a proc by to nemohlo byt .html ?
RewriteRule ^(.+).html$ index.php?file=$1/index.php [L]
tak, aby jsi zadal do prohlizece:
pribehy.html
a vzniklo ti z toho:
index.php?file=pribehy/index.php
....
include($file);</HTML>