Autor | Zpráva | ||
---|---|---|---|
Ivoš Profil * |
#1 · Zasláno: 16. 6. 2005, 23:14:41
Potřeboval bych poradit s mod_rewrite. Co bych měl napsat do .htaccess pokud bych chtěl přepsat následující adresu:
http://www.neco.cz/index.php?nav=2 na adresu: http://www.neco.cz/nav2.html nebo na: http://www.neco.cz/kontakt.html Díky moc. |
||
Petra Profil |
#2 · Zasláno: 16. 6. 2005, 23:28:11
RewriteEngine on
RewriteRule ^nav([0-9]*)\.html$ /index.php?nav=$1 To s tím kontaktem nepůjde, jedině by se to přepisovalo natvrdo (tj. musely by se dát pravidla že 2 je kontakt, 3 produkty, atd...) |
||
Ivoš Profil * |
#3 · Zasláno: 16. 6. 2005, 23:47:20
díky moc. já sem si to myslel, že by to s kontaktem a produktama... muselo jít pevnýma pravidlama.
|
||
FantomX1 Profil |
#4 · Zasláno: 17. 6. 2005, 15:30:56 · Upravil/a: FantomX1
To Petra:
Prosim ta Peta, islo by to aj nejak takto? RewriteEngine on RewriteRule ^([a-z]*)\.html$ $1/index.php Rozumies co mam na mysli vsak? Proste ak otvorim nejaku stranku s html priponou tak mi v skutocnosti otvori priecinok podla nazvu stranky bez pripony a v nom stranku index.php da sa to? Lebo mne to fungovat nechce. Moze byt ta jednotka na prvej pozicii? Dakujem. |
||
FantomX1 Profil |
#5 · Zasláno: 17. 6. 2005, 15:56:42
Aha, uz som na to prisiel. Treba zapisat.
RewriteEngine on RewriteRule ^([a-z]*)\.html$ /$1/index.php |
||
Petra Profil |
#6 · Zasláno: 17. 6. 2005, 16:03:48
FantomX1: ehm... priecinok je ... adresář? :-)
Jednak před tím $1 by mělo být ještě lomítko (RewriteRule ^([a-z]*)\.html$ /$1/index.php), pak třeba když zadáš example.com/neco.html by to otevřelo example.com/neco/index.php. Ten index.php se tam ale snad ani psát nemusí, index soubor by to mělo načíst automaticky, mělo by teda stačit jen /$1/. V tom, že je jednička na prvním místě bych problém neviděla. Jinak aby bylo jasno, já těm mod_rewrite taky houby rozumím :-) |
||
FantomX1 Profil |
#7 · Zasláno: 17. 6. 2005, 16:32:08
Aha, oki, ale mozno by si este vedela poradit :). S tym /$1/ mas samozrejme pravdu, ale ak by tam bol index.htm tak by to mohlo otvorit to a nie PHP. CHcem sa ta spytat este na jednu vec. Ked chcem vsetkym php strankam na webe dat priponu .htm namiesto .php tak ako to mam spravit?
Pretoze ja osobne mam toto RewriteEngine on RewriteRule ^([a-z]*)\.htm$ %{DOCUMENT_ROOT}/$1.php Ale vies co to spravi ked mam napriklad dany php subor v nejakom podradenom adresari? Otvori mi to stranku index.php ako stranku index.htm ale tu co sa nachadza v najvyssom adresari. A pritom toto RewriteEngine on RewriteRule ^([a-z]*)\.htm$ /$1.php ma absolutne rovanky efekt ako to predchadzajuce, a preto sa ta pytam ze ci nevies nejaku premennu co sa vztahuje k danemu adresaru v ktorom sa stranka ma nachadzat, alebo to treba robit nejako pomocou regularnych vyrazov a potom sa vztahovat na nejaku inu premennu napriklad $2? RewriteEngine on RewriteRule ^([a-z]*/)?([a-z]*)\.htm$ /$1/$2.php Dufam ze chapes aj toto druhe riesenie. Neviem ci funguje, ale ty na svojom webe to mas pomocou mod_rewrite a mas tam aj vnorene adresare, takze som si myslel ze by si mohla vediet ako na to. Dik. |
||
Petra Profil |
#8 · Zasláno: 17. 6. 2005, 17:08:04
FantomX1: Jsem sice moc nepochopila oč jde, ale dvě věci jsou jasné:
1. Přepisovat jen "php" na "htm" je myslím na nic. Vždyť na příponě php není nic špatného nebo ano? 2. Přepisovací pravidlo se tvoří pro každý jednotlivý "typ" URL vlastní. Takže pokud je to v podadresáři, napiš třeba: RewriteRule ^([a-z]*)/([a-z]*)\.htm$ /$1/$2.php |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0