| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
strategy
Data înscrierii: 19/Noi/2004
Mesaje: 351
Locație: Oradea
|
| Trimis: Mar Feb 22, 2005 9:27 pm Titlul subiectului: mod_rewrite si PHP |
|
|
m-am tot uitat unde sa postez asta in forum .. numa nu i-am gasit un loc .. moderatorilor -> daca nu-i bine mutati-l voi unde trebuie sau faceti-i un threat .. cu scuzele de rigoare ..
acuma ma chinui cu .htaccess, idea ii asta:
--- vreau sa fac URL-u din
a.
www.mydomain.com/index.php?getCategorie=text
--- in ---
www.mydomain.com/text.html
b.
www.mydomain.com/index.php?getCategorie=text&idText=123
--- in ---
www.mydomain.com/text/123.html
asta o pot face usor cu niste reguli in .htaccess
a.
RewriteEngine on
RewriteRule ^(.*)\.html$ /index.php?getCategorie=$1 [L]
b.
RewriteEngine on
RewriteRule ^(.*)/(.*)\.html$ /index.php?getCategorie=$2&idText=$1 [L]
bun .. acum intrebarea ..
#
de cate ori apelez in script www.mydomain.com/text/123.html shtie sa ia variabilele get ..
Cum pot face ca in script sa NU folosesc www.mydomain.com/text/123.html' CI www.mydomain.com/index.php?getCategorie=text&idText=123 dar sa-mi afiseze www.mydomain.com/text/123.html
#
voi cum faceti ?
astept sfaturi, multumesc anticipat |
|
| Sus |
|
strategy
Data înscrierii: 19/Noi/2004
Mesaje: 351
Locație: Oradea
|
| Trimis: Mie Feb 23, 2005 12:44 pm Titlul subiectului: |
|
|
| hmmm .. chiar nimeni ? |
|
| Sus |
|
arond
Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1
|
| Trimis: Mie Feb 23, 2005 1:10 pm Titlul subiectului: |
|
|
Incearca asta: Cod: RewriteEngine on
RewriteRule ^(.*)/(.*)\.html$ /index.php?getCategorie=$2&idText=$1 [L,QSA] QSA - in loc sa fie inlocuit query string-ul original, se adauga la el... ar trebui sa faca ce vrei tu, daca am inteles eu bine.
Numa' bune. |
|
| Sus |
|
strategy
Data înscrierii: 19/Noi/2004
Mesaje: 351
Locație: Oradea
|
| Trimis: Mie Feb 23, 2005 1:22 pm Titlul subiectului: |
|
|
hmm .. idea era alta .. io vreau sa codez in php normal .. adica cu .php?getCat=cars&sprint=23 .. m`i se pare mai comod ..
si at .. cu .htaccess cumva nu shtiu cum toate linkurile de genu ala sa le taie ceva in genu /cars/sprint/23.html adica sa mascheze url-u ..
pot sa fac daca in php scriu /cars/sprint/23.html .. iar .htacces-u .. shtie ca ii mod normal nu ar arata asa link-u ci ala .php?getCat... shi imi ia variabilele GET ..
acuma ai mai intzeles ? |
|
| Sus |
|
arond
Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1
|
| Trimis: Mie Feb 23, 2005 1:38 pm Titlul subiectului: |
|
|
Cod: RewriteEngine on
RewriteRule ^(.*)/(.*)\.html$ /index.php?getCategorie=$2&idText=$1 [L] face ce vrei tu. Nu inteleg care e problema.
Daca vrei sa-ti modifice link-urile propriu-zise in codul tau HTML nu are nici o legatura... mod_rewrite e destinat sa rescrie URL-uri transmise serverului Apache, nu sa modifice continutul livrat de serverul web.
Cu alte cuvinte, daca vrei ca <a href="/index.php?getCategorie=articol&idText=123"/> sa devina automat <a href="/articol/123.html"/> nu se poate decat daca o faci de mana (fie atunci cand generezi pagina, fie cu output buffering + regexp).
Numa' bune. |
|
| Sus |
|
strategy
Data înscrierii: 19/Noi/2004
Mesaje: 351
Locație: Oradea
|
| Trimis: Mie Feb 23, 2005 3:16 pm Titlul subiectului: |
|
|
lasa am rezolvat .. nu m-ai inteles :D
acuma am alta problema ..
Citat: RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ list.php?parentarea=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([0-9]+)\.html$ list.php?parentarea=$1&area=$2 [L]
cred ca tzi-ai dat seama ce face asta .. daca nu .. idea ii asta in pagina principala am o groaza de linkuri spre dirferite categorii cand dau pe o categorie ma trimite la list.php .. cu un switch afisez pe categorii acuma ..
in mod normal in address bar .. o sa fie www.domain.com/categorie/ pt prima regula .. shi www.domain.com/categorie/123.html pt a doua .. in list.php o sa am trimiteri la link cu <a href="/categorie/"></a> ..
ce nu intzeleg acuma ii de ce nu imi merge css cand introduc a doua regula cea cu .html .. merge css-u cand o scot si o las numai pe prima ..
ce banuiesc ii ca imi aplica regula si pt 'css/default.css' .. acolo se afla fisieru de css .. da-mi ceva idee sa rezolv faza asta .. |
|
| Sus |
|
octavian.p
Data înscrierii: 10/Feb/2005
Mesaje: 10
|
| Trimis: Mie Feb 23, 2005 4:59 pm Titlul subiectului: |
|
|
in <head>
<base href="http://domeniu/">
fisierul css si chiar imaginile sunt cautate in directorul rescris
/[sub]categorie/ care bingo nu exista asa ca trebuie o cale absoluta ptr imagini, css + eventuale linkuri ... |
|
| Sus |
|
strategy
Data înscrierii: 19/Noi/2004
Mesaje: 351
Locație: Oradea
|
| Trimis: Joi Feb 24, 2005 1:15 pm Titlul subiectului: |
|
|
n-am putut nici cum sa izolez css/default.css si scripts/default.js .. da-mi un hint .. m-am prins pana la urma .. am vazut un RewriteLogLevel 9
RewriteLog logs/rewrite.log .. |
|
| Sus |
|
aurelian
Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti
|
| Trimis: Joi Feb 24, 2005 1:54 pm Titlul subiectului: |
|
|
Ptr. debug:
1/
an style="color: #000000"><?php RewriteLogLevel 9
RewriteLog logs/rewrite.log
se pune in httpd.conf.
In productie e bine sa pui un nivel mai mic de debug.
2/
Presupunand ca folosesti tagul <base href="" /> in head,
un alt mijloc de debug: foloseste firefox, incarca pagina ta si in Tools/Java Script Console o sa ai ceva informatii.
(de ex:
Error: The stylesheet http://localhost/temos/default.css was not loaded because its MIME type, "text/html", is not "text/css".
)
3/
O resursa super buna ptr. mod_rewrite este forumul Sitepoint/Apache.
http://www.sitepoint.com/forums/search.php?searchid=1323924 |
|
| Sus |
|
strategy
Data înscrierii: 19/Noi/2004
Mesaje: 351
Locație: Oradea
|
| Trimis: Joi Feb 24, 2005 8:49 pm Titlul subiectului: |
|
|
merci aurelian .. primu lucru ce fac cand dau de bai ii log .. :D am facut aia prima data ..
folosesc shi java tools C. ,, nu aveam in head base .. ca nu am stiu de asta ..
oricum .. merci de ajutor am rezolvat toate erorile .. ce am facut .. ii ca tot ce are extensie jpg|gif|png|js|css mod_rewrite sa nu aplice reguli .. pt moment am creat in directoarele de imagini|functii|css un .htaccess pt asta .. dar cu timpu o sa fac o regula mai complexa in .htaccess de pe root ..
apropo ... thread`u asta .. merita continuat .. si pt altii care vor sa faca sau sa invete mod_rewrite ..
multumesc celor care m-au ajutat |
|
| Sus |
|
aurelian
Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti
|
| Trimis: Joi Feb 24, 2005 9:09 pm Titlul subiectului: |
|
|
Ar fi o chestie interesanta, pentru ca sincer sa fiu in momentul de fata fac asa:
an style="color: #000000"><?php RewriteEngine Off
in directoarele cu .jpg (.css si altii)
O metoda care nu e prea eleganta :) |
|
| Sus |
|
Emil
Data înscrierii: 16/Noi/2003
Mesaje: 301
Locație: echo $REMOTE_ADDR
|
| Trimis: Vin Feb 25, 2005 9:27 am Titlul subiectului: |
|
|
octavian.p a scris: in <head>
<base href="http://domeniu/">
fisierul css si chiar imaginile sunt cautate in directorul rescris
/[sub]categorie/ care bingo nu exista asa ca trebuie o cale absoluta ptr imagini, css + eventuale linkuri ...
Sau RewriteBase
Chestii interesante si rapide se pot obtine si cu un custom ErrorDocument, mai exact un 404 inteligent cum are php.net. |
|
| Sus |
|
strategy
Data înscrierii: 19/Noi/2004
Mesaje: 351
Locație: Oradea
|
| Trimis: Vin Feb 25, 2005 3:05 pm Titlul subiectului: |
|
|
emil .. <base href="http://localhost/" />
mai optimizat .. sa vada si altii ca base nu are tag de inchide ca si <div></div> .. plus de Rewritebase la mine nu mere :D nu are nici un efect .. sa mor de nu! .. doar daca folosesc base .. |
|
| Sus |
|
strategy
Data înscrierii: 19/Noi/2004
Mesaje: 351
Locație: Oradea
|
| Trimis: Lun Feb 28, 2005 8:05 pm Titlul subiectului: |
|
|
cum fac sa nu-mi listeze ca pe un ftp continutul directoarelor acolo unde nu exista index.
in httpd.conf ii pus sa caute prioritar dupa index: .html .php .htm
nu vreau sa pun nici user/parola, stiu sa fac asta
nu vreau sa banez ip-uri
doar sa nu listeze, in schimb ar fi bine sa trimita spre un notallowedhere.php gen ErrorDocument 404 404.php modelat dupa cum ar arata site-ul. |
|
| Sus |
|
aurelian
Data înscrierii: 01/Iun/2003
Mesaje: 833
Locație: Bucuresti
|
| Trimis: Lun Feb 28, 2005 9:29 pm Titlul subiectului: |
|
|
cu un .htaccess in directorul in care vrei sa restrictionezi accesul:
an style="color: #000000"><?php Options -Indexes
ErrorDocument 403 http://_LOCATIA_TA_
ErrorDocument 404 http://_LOCATIA_TA_
Daca vrei ca asta sa fie regula generala ai 2 optiuni:
or pui .htaccessul respectiv in DOCUMENT_ROOT (hmm)
or faci modificarile (nerecomandat) direct in httpd.conf |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |