Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

regex / mod_rewrite / .htaccess help
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Optimizare pentru motoarele de cautare (SEO)
Subiectul anterior :: Subiectul următor  
Autor Mesaj
alexandruc



Data înscrierii: 27/Feb/2007
Mesaje: 25

Trimis: Joi Oct 30, 2008 8:39 pm    Titlul subiectului: regex / mod_rewrite / .htaccess help  

Salut,

Am urmatoarea structura (pe un server local - WAMP cu mod rewrite activat):
http://localhost/sitename/index.php
http://localhost/sitename/page.php?name=ceva
http://localhost/sitename/info.php?id=altceva

in .htaccess (pus in directorul sitename) am urmatorul cod:
Cod: Options +FollowSymLinks
RewriteEngine on
 
RewriteBase /
 
Rewriterule ^sitename/page/([^/])/?$ /sitename/page.php?name=$1 [L]
Rewriterule ^sitename/info/([^/])/?$ /sitename/info.php?id=$1 [L]
RewriteRule ^sitename/?$ /index.php [L]


si nu functioneaza... :(

conform a ceea am citit in urma cautarilor legate de acest subiect ar trebui sa imi transforme linkurile in:
http://localhost/sitename/page/ceva
http://localhost/sitename/info/altceva
http://localhost/sitename

Unde gresesc? :(


p.s: alta intrebare este - atunci cand va functiona, va trebui sa modific toate linkurile din codul paginilor in noul format? sau va stii cumva serverul sa le trimita in noua forma? (nu radeti de mine.. sunt nou in acest subiect :) )

multumesc,
Alex


EDIT:

comportament:
1. intrarea pe site:
http://localhost/sitename/ <- deschide pagina index.php

2. merg la: sitename/page.php
http://localhost/sitename/page <- afiseaza page.php

3. merg la: sitename/page.php?name=something
http://localhost/sitename/page/something <- afiseaza TOT page.php si pierde css-ul si calea catrea directorul de imagini (imaginile nu mai sunt afisate). imaginea devine: http://localhost/sitename/page/images/a.jpg in loc de http://localhost/sitename/images/a.jpg cum ar fi corect.

4. click iar pe: page.php?name=something
http://localhost/sitename/page/page/something <- fiecare click aditional pe link adauga "/page/" in url

Ceva idei? :(
Sus  
Quber



Data înscrierii: 27/Iun/2006
Mesaje: 849
Locație: localhost

Trimis: Vin Oct 31, 2008 9:07 am    Titlul subiectului:  

nu am stat sa citesc pina la urma dar cred ca la tine nu merge din cauza ca ai uitat sa pui semnul "+"

Cod:
Options +FollowSymLinks
RewriteEngine on
 
RewriteBase /
 
Rewriterule ^sitename/page/([^/]+)(/?)$ /sitename/page.php?name=$1 [L]
Rewriterule ^sitename/info/([^/]+)(/?)$ /sitename/info.php?id=$1 [L]
RewriteRule ^sitename/?$ /index.php [L]
Sus  
XDYNX



Data înscrierii: 08/Iun/2006
Mesaje: 379
Locație: Pitesti

Trimis: Vin Oct 31, 2008 11:51 am    Titlul subiectului:  

uite aici o unelta utila - http://www.htaccesseditor.com/en.shtml#a_access
Sus  
mfwsro



Data înscrierii: 03/Dec/2008
Mesaje: 108
Locație: Bucuresti

Trimis: Mie Dec 03, 2008 1:09 pm    Titlul subiectului:  

Salut,sunt pe un host nou nu ii dau numele si am urmatoarele probleme pe care pina acum nu le-am mai intilnit:
-nu pot sterge .htaccessul,daca il sterg ramane tot acolo.
-daca il inlocui sau scriu ceva in el pe domeniu am eroare 500.
Ce se poate face,ceva idei,sugestii sunt binevenite.Va multumesc.
Sus  
mihaitha



Data înscrierii: 04/Mai/2007
Mesaje: 2230
Locație: Sibiu

Trimis: Mie Dec 03, 2008 1:29 pm    Titlul subiectului:  

Poate serverul e configurat sa necesite un fisier .htaccess, deci daca il stergi il recreaza automat (sau nu il sterge 0 uita-te in FTP log cand incerci sa il stergi, nu iti da un "access denied" sau ceva?). Cat despre partea cu scrisul in el, depinde ce scrii - daca scrii ceva incorect e si normal sa iti dea eroare 500.
Sus  
mfwsro



Data înscrierii: 03/Dec/2008
Mesaje: 108
Locație: Bucuresti

Trimis: Mie Dec 03, 2008 1:52 pm    Titlul subiectului:  

Mentionez ca am cpanel nu plesk ca sa il ascunda,deci e vizibil.
Si am inteles ca il creeaza automat daca vreau sa il sterg dar asta se intimpla numai daca as fi fost gazduit pe un subdomeniu dar nu ma gandeam ca si in cazul domeniilor se poate face asa ceva.
Iar ce am vrut sa scriu in .htaccess a fost simplu php_flag register_globals 0 sau Off tot eroare 500 imi rezulta,si un punct daca puneam tot acelasi rezultat imi afisa iar cel de la host nu stie ce sa-i faca sau poate de unde.
Sus  
mihaitha



Data înscrierii: 04/Mai/2007
Mesaje: 2230
Locație: Sibiu

Trimis: Mie Dec 03, 2008 2:48 pm    Titlul subiectului:  

Daca pe pe /public_html nu ai Allow Override si un simplu php_flag iti poate genera eroare 500.
Sus  
Bamselu



Data înscrierii: 29/Oct/2008
Mesaje: 56
Locație: Bucuresti

Trimis: Mar Mar 24, 2009 1:07 am    Titlul subiectului:  

1. Regulile tale nus bune. Incearca asa:

Cod:
Rewriterule ^sitename/page/([a-z0-9-]+)/?$ /sitename/page.php?name=$1 [L]
Rewriterule ^sitename/info/([a-z0-9-]+)/?$ /sitename/info.php?id=$1 [L]
RewriteRule ^sitename/?$ /index.php [L]


Presupunand ca variabila name o sa contina doar litere mici si numere de la 0 la 9 si caracterul -

2. Css-ul nu se mai incarca pt ca probabil folosesti cai relative.

3. Va trebui sa modifici toate url-urile generate de script-ul tau php sa fie de forma pe care o vrei tu.
exemplu: /sitename/page.php?name=$1
Sus  
mihaitha



Data înscrierii: 04/Mai/2007
Mesaje: 2230
Locație: Sibiu

Trimis: Mar Mar 24, 2009 11:11 am    Titlul subiectului:  

Mai uita-te si la data ultimei postari inainte sa scrii ceva. Thread-ul asta e mort de 3 luni.
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  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Optimizare pentru motoarele de cautare (SEO)
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community