Vyse popsany ukaz udelany pomoci mod_rewrite lze udelat mnohem jednoduseji. Staci vytvorit nejaky skript. Ulozit ho dejme tomu do /www/test/index.php a v configuraci Apache nastavit DocumentRoot na /www/test/index.php. A potom uz staci jen 3 radky:
<Location "/">
ForceType application/x-httpd-php
</Location>
A dilo dokonano jest. Vsechno se vola pres skript index.php a zas zde funguje $PATH_INFO. A neni nutne pouzivat mod_rewrite...
Názory k článku
Což si tak trochu zapřepisovat?
Lze to vyrazne jednoduseji
celé vláknoRe: Lze to vyrazne jednoduseji
celé vláknoNuž, co se dá dělat, nikdo neví všechno :). Věřím ale, že i tak se najdou případy, kdy je mod_rewrite užitečný, a že snad tento článek splní svůj účel tím, že přiblíží způsob vytváření a fungování pravidel na konkrétním příkladu.
Re: Lze to vyrazne jednoduseji
celé vláknoRe: Lze to vyrazne jednoduseji
celé vláknonastavit document root na /www/test/ ?
Kdyz uz s rewrite, tak mozna snadneji
celé vláknoPodobny problem jsem resil uz pred rokem a dodnes pouzivam nasledujici (podle mne jednodussi) reseni. pro server http://www.test.cz/ pouzivam nasledujici rewrite:
RewriteRule ^/([^|]+)$ /system.phtml?par=$1$2
ktery me vsechno preda jako $par a ten si potom uz zpracuju v system.phtml. Vsehno jede a pouzivam to zvlast tam, kde muzu pouzit jenom Rewrite (napr. nektere komercni hosting sluzby). Uzivatele ziskaji format /neco/neco.phtml a jsou spokojeni, a ja ziskam rizeni pomoci PHP skriptu :-)
Re: Kdyz uz s rewrite, tak mozna snadneji
celé vláknoTo zase o tolik jednodušší není a navíc je to netransparentní z hlediska toho skriptu, chápu-li to dobře.
Bez titulku
celé vláknoje to magie,zajimava,ale slozita
Muze mi nekdo poradit s nastavenim httpd.conf?
celé vláknoZdravim,
potřeboval bych pomoct s nastavením Apache, tak aby mi fungovalo mod_rewrite. Uz se s tim drbu asi 4 dny a furt nic...
Stačí dát pryč křížky
celé vlákno# LoadModule rewrite_module modules/mod_rewrite.so
na
LoadModule rewrite_module modules/mod_rewrite.so
a
# AddModule mod_rewrite.c
na
AddModule mod_rewrite.c
a mělo by to jet (to, že v adresáři modules musí být mod_rewrite.so je doufám samozřejmost:)
Re: Stačí dát pryč křížky
celé vlákno- Otazka polozena v roku 2005.
- Odpoved v roku 2006.
- No a moj komentar v roku 2007.
Som zvedavi ci sem niekto prispeje v 2008?
Re: Stačí dát pryč křížky
celé vláknoRe: Stačí dát pryč křížky
celé vláknoRe: Stačí dát pryč křížky
celé vláknoA máme tady rok 2010:-)
Re: Stačí dát pryč křížky
celé vláknoa už jsme v roce 2011 :-)
Re: Stačí dát pryč křížky
celé vláknoJá bych řekl, že 2012, ne? ;-)
Tak co v 2013, ozve se někdo?
Re: Stačí dát pryč křížky
celé vláknoPodle me se v 2013 uz nikdo neozve; V jedne galaxii na jedne z obeznic kolem stredni hvezdy vyhasnul zivot....
Re: Stačí dát pryč křížky
celé vláknoke sve spokojenosti pouzivam toto:
httpd.conf (resp. include dso.conf) /psano vyse/
LoadModule rewrite_module modules/mod_rewrite.so
a .htaccess:
# zapnuti podpory mod_rewrite
RewriteEngine On
# korekce pro umisteni projektu v zavislosti na virtual-host/document_root
#RewriteBase /
#
# or
#
#RewriteBase /absolute/path/to/project/
# prepisovani FQDN (pro lepsi indexaci ve vyhledavacich, aby to pusobilo jako 1 domena)
#
#RewriteCond %{HTTP_HOST} ^domena\.cz$ [OR]
#RewriteCond %{HTTP_HOST} ^domena\-domena\.cz$ [OR]
#RewriteCond %{HTTP_HOST} ^www\.domena\-domena\.cz$
#RewriteRule ^(.*)$ http://www.domena.cz/$1 [L,R=301,QSA]
# ---[ obecne rewrite pravidla ]----------------------------------------------
# obecne ID
# -- zohledneno v cele aplikaci (mimo spec. pripady)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ index.php?id=$1 [L,QSA]
Re: Stačí dát pryč křížky
celé vláknoPrepisanie URL cez mod_rewrite
celé vláknoak chcem napr. spravit prepisovacie pravidlo pre
http://svetpohladnic.sk/katalog_vypis.php?K1=Ruze&S=0#kat
aby bol vysledny tvar url
http://svetpohladnic.sk/katalog/obrazky/ruze/0/index.html
ake prepisovacie pravidlo mam zvolit? a musi existovat ten subor resp. adresar http://svetpohladnic.sk/katalog/obrazky/ruze/0/index.htmlfyzicky???
mod_re je presmerovanie .. ci prepisanie url .. ??
skusal som to, ale bud neprepise nic;o( .. alebo da internal server error ;o(
detail v mod_rewrite
celé vláknolidičky potřeboval bych se s Váma poradit.. chtěl jsem si udělat pomocí mod rewrite hezci URL abych tam nemel ty parametry atd..
pouzil jsem to takto:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^id=([^&]+)$
RewriteRule ^index\.php$ /%1.html [R,L]
RewriteRule ^([^/]+)\.html /index.php?id=$1 [L,QSA]
funguje to v pohode.. akorat tam je jeste jeden maly hacek.. za tu statickou adresu.. se mi prida to co je v puvodni adrese za otaznikem.. Melo by to jit odstranit pridanim otazniku na treti radku ktera by vypadala takto:
RewriteRule ^index\.php$ /%1.html? [R,L]
kdyz to takhle udelam tak to nefunguje vubec.. nevite nekdo cim by to mohlo byt a jak by se to dalo vyresit dekuji za rady..
Re: detail v mod_rewrite
celé vláknoSession+RewriteRule
celé vláknoAčkoliv je session_start uveden ve skriptu pouze jednou, vytvoří se mi v tmp adresáři 10 sess_xxx a zápis ani do jediné z nich se neprovede.
Předpokládám, že Apache zřejmě používá session k funkci přepisování, ale já bych potřeboval session k ukládání některých hodnot (lang, login ap.).
Můžete mi někdo poradit, jak na to?
více domén v jednom www prostoru
celé vláknoV jednom www prostoru mám několik domén v různých adresářích, kam je směřuji přes PHP. Potřeboval bych, aby se mi v řádku prohlížeče nevypisovala doména na kterou je prostor registrován a adresář, ale doména, která je volaná.
Konkrétně:
do prohlížeče napíšu: www.ananta.cz
zobrazí se: www.andele.info/pur/index1.htm
chtěl bych zobrazit: www.ananta.cz/index1.htm
Děkuji za pomoc.
Re: více domén v jednom www prostoru
celé vláknoTohle by mělo jít pomocí VirtualHosts, jestli máš Apache.

