[PHP] jak na rewrite?

Webdesign, HTML, CSS, Flash, PHP, ASP, .NET, JavaScript. Kritika www stránek na Smetišti.

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod KeyserSoze 1. 5. 2006 14:43

Dobrý den,

mám jisté webové stránky a kategorie jsou pod odkazy
index.php?page=1
index.php?page=2 atd.

jak mám udělat aby to bylo index.php?section=portfolio
a nebo lépe http://www.adresa.neco/portfolio ?

Děkuji


// mbing : Téma přesunuto ● z Programování do Tvorba webových stránek a aplikací.
KeyserSoze
Junior

Odeslat příspěvekod Z@chi 1. 5. 2006 16:00

no tak presne tak, jak mas napsane v nazvu
mod_rewrite.

cela systaxe je takovahle
Kód: Vybrat vše
rewriterule   co přesměrovat   kam přesměrovat   [příznaky]
[/code

Takze si nastuduj regulerni vyrazy a pak si vytvor vlastni podminku.
Tu zapises do .htaccess.
pak se ti pri splleni podminky presmeruje stranka na tvoji stranku, kde uz si kod spracujes podle URL.
Z@chi
Junior
Uživatelský avatar

Odeslat příspěvekod KeyserSoze 19. 5. 2006 14:07

To vím, že musím využít mod rewrite, ale nevím co přesně do něja napsat.

Mám stránky

http://www.neco.com/faq.php?mforum=design
http://www.neco.com/index.php?mforum=design
apod.

A chtěl bych z toho udělat, aby to bylo

http://www.neco.com/design/faq.php
http://www.neco.com/design/index.php
apod.

Co tedy musím napsat do .htaccess?
KeyserSoze
Junior

Odeslat příspěvekod Ares952 24. 5. 2006 15:55

to by me taky zajimalo, nikdo to nevi?

nejaky jednoduchy navod, priklad, nic sloziteho prosim
Naděje je motorem duše
Ares952
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod hellhound 31. 5. 2006 13:24

rewrite sem eště bohužel neměl možnost použít... ale ady o tom něco je ;p
http://interval.cz/clanky/mod-rewrite-p ... writerule/
hellhound
Junior
Uživatelský avatar

Odeslat příspěvekod peruginni 31. 5. 2006 14:16

do .htaccess napis tohle:

Kód: Vybrat vše
    RewriteEngine on
    RewriteBase /
    RewriteRule (.*)/(.*).php $2.php?mforum=$1



a soubor ulož do rootu webu (hlavního adresáře, např.: http://www.neco.cz/) pak když internetový surfař najede na stránku http://www.neco.com/design/faq.php modrewrite jej odkáže (a surfař o tom vlastně ani neví) na stránku http://www.neco.com/faq.php?mforum=design

pozn.: závorky v řádku s RewriteRule jsou označení pro proměnné, takže to co je uvnitř závorky je proměnná. Vytvoří se ti automaticky pod jménem, u kterého záleží na pořadí. Např.: prvni zavorka je proměnná $1, druhá zavorka je proměnná $2 (viz. řešení tvojí otázky)

další informace nastuduj. :-B :)
Doporučuji:

http://www.jakpsatweb.cz/server/mod-rewrite.html#rewriterule
http://www.google.com/search?q=mod_rewrite&lr=lang_cs
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
peruginni
Kolemjdoucí
Uživatelský avatar

Odeslat příspěvekod Ares952 31. 5. 2006 16:49

jj diky, to je presne ono
Naděje je motorem duše
Ares952
Mírně pokročilý
Uživatelský avatar

Odeslat příspěvekod 2ge 1. 6. 2006 08:58

nerob to tak. Najlepsie je rewritovat vsetko, co neexistuje na HDD ako subor/adresar a posielat to na index a tam rozhodnes co dalej s tym. Dalsia vec, ak pouzivas rewrite, nepouzivaj .php na konci, je to zbytocne.

Tu su pravidla (ja to mam v httpd.conf):
Kód: Vybrat vše
RewriteEngine On
#RewriteBase / #(pridaj ak to davas do .htaccess)

#ak sa nezacina na www.domena.tld tak presmeruj na www.domena.tld
RewriteCond %{HTTP_HOST} !^www.domena.tld
RewriteRule ^(.*) http://www.domena.tld$1 [L,R=301,QSA]

#ALL REQUESTS TO index.php?q=
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /index.php?q=$1 [L,QSA]


Snad som pomohol
SubDownloader - stahuj a nahravaj titulky k filmom pomocou opensource programu z OpenSubtitles.org
2ge
Junior
Uživatelský avatar

Odeslat příspěvekod ___MARK___ 17. 7. 2006 11:31

peruginni píše:do .htaccess napis tohle:

Kód: Vybrat vše
    RewriteEngine on
    RewriteBase /
    RewriteRule (.*)/(.*).php $2.php?mforum=$1



a soubor ulož do rootu webu (hlavního adresáře, např.: http://www.neco.cz/) pak když internetový surfař najede na stránku http://www.neco.com/design/faq.php modrewrite jej odkáže (a surfař o tom vlastně ani neví) na stránku http://www.neco.com/faq.php?mforum=design

pozn.: závorky v řádku s RewriteRule jsou označení pro proměnné, takže pi]to co je uvnitř závorky je proměnnán/i]. Vytvoří se ti automaticky pod jménem, u kterého záleží na pořadí. Např.: prvni zavorka je proměnná $1, druhá zavorka je proměnná $2 (viz. řešení tvojí otázky)

další informace nastuduj. :-B :)
Doporučuji:

surl]http://www.jakpsatweb.cz/server/mod-rewrite.html#rewriterule[/url]
http://www.google.com/search?q=mod_rewrite&lr=lang_cs
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

Toto jsem vcera pochopil a kdyz jsem zadal do url adresu http://www.neco.cz/kategorie-203 tak se mi nacetla stranka http://www.neco.cz/index.php?idCategory=203 ale ma otazka smeruje k tomu, ze kdyz jsem na webu prejizdel mysi pres odkazy, tak se zobrazovala ta dlouha adresa a na webech kde je mod_rewrite se ukazuji i pri najeti mysi ve stavovem radku cool url. Nevim jak toho dosahnout a zatim jsem to nikde nevycetl :(
___MARK___
Junior

Odeslat příspěvekod 2ge 17. 7. 2006 19:52

to je jednoduche - v kode musis generovat cool uris :) Cize nie s ampersandom ale pekne "/category-123" atd. a mod rewrite ti to prepise ako treba....
SubDownloader - stahuj a nahravaj titulky k filmom pomocou opensource programu z OpenSubtitles.org
2ge
Junior
Uživatelský avatar

Odeslat příspěvekod babca 25. 7. 2006 18:36

hehe, prostě v odkazech (tagy <a>) používej nový url adresy... ;)
jak sis je nastavil v htaccess... :D

(co sis myslel, že se to přepíše samo? :D ;) )
babčův HTPC pro rok 2011: AMD Zacate, spotřeba 16W@46°C při idle, just Google it
babca
Junior
Uživatelský avatar

Odeslat příspěvekod cache 25. 7. 2006 19:11

Ja len dodam, ze pomerne pohodlne sa da pouzivat (ak nieje mozne vyuzit rewrite) aj takato url a parametre si parsovat sam:
Kód: Vybrat vše
http://www.neco.cz/faq.php/design
Automaticky sa vykona faq.php a tam si staci zobrat poslednu cast volanej url a mas pozadovany parameter.
Můj bože, to je budoucnost! Mí rodiče, přátelé, má dívka.. Už je nikdy neuvidím.. JUPÍÍÍÍÍÍ! (Fry s1e1)
cache
Pokročilý
Uživatelský avatar

Odeslat příspěvekod babca 1. 8. 2006 08:23

tzn se vyková faq.php bez parametrů, ale můžu si je pěkně ručně vytáhnout z $REQUEST_URI... to by mě nenapadlo... ;)

--
jo, tak koukám do $GLOBALS, "parametry" za xxx.php jsou primo v promenne $PATH_INFO...
:D
babčův HTPC pro rok 2011: AMD Zacate, spotřeba 16W@46°C při idle, just Google it
babca
Junior
Uživatelský avatar

Odeslat příspěvekod 2ge 3. 8. 2006 10:02

ak pouzivas $_GLOBALS, tak si to radsej vypni, stranku ti hacknu ani nebudes vediet ako.
SubDownloader - stahuj a nahravaj titulky k filmom pomocou opensource programu z OpenSubtitles.org
2ge
Junior
Uživatelský avatar

Odeslat příspěvekod babca 3. 8. 2006 10:08

já jsem se zatím k žádnýmu typu rewrite nedostal... :P

$_GLOBALS? není to náhodou $GLOBALS? :P

jo a jak hekneš? zajímalo by mě... :)
babčův HTPC pro rok 2011: AMD Zacate, spotřeba 16W@46°C při idle, just Google it
babca
Junior
Uživatelský avatar

Další stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků