Pagina 1 din 2

Problema Mod Rewrite

Scris: Joi Aug 26, 2010
de claUdiu
Buna am si eu o problema cu mod rewrite. Eu am aceasta pagina:

citeste_stire.php?titlu=Fenomen-incredibil-in-Brazilia-20tornada-de-foc!&id=7

Cum as putea so transform in forma asta:

Fenomen-incredibil-in-Brazilia-tornada-de-foc.html??

Eu am incercat asa dar nu merge:

RewriteRule ^citeste-(.*)-(.*).html /citeste_stire.php?titlu=$1&id=$2

plS helP

Problema Mod Rewrite

Scris: Joi Aug 26, 2010
de MarPlo
Incearca asa:

Cod: Selectaţi tot

Options +FollowSymLinks
RewriteEngine On

RewriteRule ^([a-zA-Z -]+)_([0-9]+).html$ citeste_stire.php?titlu=$1&id=$2 [NC,L] 
- Iar link-ul trebuie sa fie: Fenomen-incredibil-in-Brazilia-tornada-de-foc_7.html
numarul de la urma, dupa "_" , e necesar pt. id

Problema Mod Rewrite

Scris: Joi Aug 26, 2010
de claUdiu
Multumesc, am fkt cum miai zis tu dar akm imi da 500 internal server error si cand sterg tot din htaccess imi merge carea ar fi problema??

In .htaccess am:

Cod: Selectaţi tot

RewriteEngine on 
RewriteBase / 
RewriteRule ^acasa.html$ /index.php
RewriteRule ^([a-zA-Z -]+)_([0-9]+).html$ citeste_stire.php?titlu=$1&id=$2 [NC,L]

Problema Mod Rewrite

Scris: Joi Aug 26, 2010
de MarPlo
Nu stiu care sa fie problema, incearca formula rewrite asa:
RewriteRule ^domeniu_site/([a-zA-Z -]+)_([0-9]+).html$ citeste_stire.php?titlu=$1&id=$2

- Daca si asa da eroare, nu am idee. Poate stie altcineva mai bine.

Problema Mod Rewrite

Scris: Lun Aug 30, 2010
de claUdiu
Da si acuma da erroare dar am rezolvato asa:

RewriteRule ^citeste-(.*).html /citeste_stire.php?url=$1

Acuma mai am o problema.

La mine pe site se pot da si commentari iar cand cineva il posteza se inregistreaza pagina de pe care so postat in baza de date, dar cand cineva scrie commentari nu il arata.

Eu akm am pagina asa: " http:// www .site.do/citeste-Stirea-Zilei.html " daca dau commentari de pe pagina asta nu mil arata iar daca fk urlu asa:
" http:// www .site.do/citeste_stire.php?url=Stirea-Zilei " mi-l arata. cum as putea sa-mi arate commentari cand e dat de pe o adresa transformata cu mod rewrite? Ms mult pentru ajutor - klaus;)

Problema Mod Rewrite

Scris: Lun Aug 30, 2010
de MarPlo
Explicatia ar fi ca din baza de date e preluat comentariul dupa valoarea lui $_GET['url'] iar in cazul adresei cu .html nu mai preia acea valoare. De ce, nu-mi dau seama. Trebuie vazut codul PHP care preia comentariile din mysql, si niste teste, de exemplu cu un echo $_GET['url']; ca sa vezi daca acel "echo" afiseaza aceeasi valoare la ambele adrese.

Problema Mod Rewrite

Scris: Lun Aug 30, 2010
de claUdiu
Scriptu care preia datele din baza de date e:

Cod: Selectaţi tot

<?php
$id=$_GET['id'];
$conn = mysql_connect("localhost", "stirisite", "stirisite")
    or die("Unable to connect to MySQL");
$selectdb = mysql_select_db('stirisite');
$cerereSQL = 'SELECT * FROM commentari WHERE articolul="'.$id.'"'; 
$rezultat = mysql_query($cerereSQL);
if(mysql_num_rows($rezultat) > 0) {
while($rand = mysql_fetch_array($rezultat))	{ 
echo                   	     '<div class="commentsContainer"> 
		<div class="comments"> 
				<a name="comentarii"></a> 
			<div class="oneComment"> 
			<div class="commentName"> 
				'. $rand['nume']. '				<span>('. $rand['data']. ' '. $rand['ora']. ')</span> 
			</div> 
			<span class="theText">'. $rand['mesaj']. '</span> 
			
 					</div> </div></div>';
 }
}
?>
Si am facut testul de care zici tu. Pe pagina asta: http:// www .site.do/citeste_sitrea.php?url=Stire&id=7 imi apare ID-ul in pagina iar daca intru pe pagina http:// www .site.do/citeste-Stire_7.html nu imi apare ID-ul in pagina. Cum as putea sa fac sami apara?

Problema Mod Rewrite

Scris: Lun Aug 30, 2010
de MarPlo
Trebuie adaugat in codul rewrite si 'id' cu numarul, adica sa ai $1 pt. 'url' si $2 pt. 'id', ca sa inlocuiasca pe server adresa cu ".html" exact cum trebuie ea cu ".php?...". Pentru asta trebuie in formula 2 paranteze rodunde cu Regex, una pt. $1 si a doua pentru $2
Incearca formula rewrite asa:
RewriteRule ^citeste-([a-zA-Z -]+)_([0-9]+).html /citeste_stire.php?url=$1&id=$2

Problema Mod Rewrite

Scris: Lun Aug 30, 2010
de claUdiu
Cu codul de la tine imi da 500 internal server error:-?? dar eu deja am in .htaccess:

Cod: Selectaţi tot

RewriteEngine on 
RewriteBase / 
RewriteRule ^acasa.html$ /index.php
RewriteRule ^citeste-(.*)_(.*).html /citeste_stire.php?url=$1&id=$2
RewriteRule ^categoria-(.*).html /stiri.php?categorie=$1

Problema Mod Rewrite

Scris: Lun Aug 30, 2010
de MarPlo
Aceasta formula (.*)_(.*) intra in conflict deoarece (.*) cuprinde toate caracterele, deci si liniuta joasa "_" si ce e dupa ea, de asta nu mai stie cand a trecut la urmatoarea paranteza si ce contine ea pt. $2, fiindca deja prima paranteza cuprinde tot sirul.
Ideea e sa fie facute 2 paranteze care sa nu intre in conflict.
Nu imi dau seama de ce da eroare 500, mai trebuie lucrat la codul Regex din paranteze. Incearca totusi si asa:
RewriteRule ^citeste-(.[^_]*)_([0-9]*).html /citeste_stire.php?url=$1&id=$2

Problema Mod Rewrite

Scris: Lun Aug 30, 2010
de MarPlo
Aceasta formula (.*)_(.*) intra in conflict deoarece (.*) cuprinde toate caracterele, deci si liniuta joasa "_" si ce e dupa ea, de asta nu mai stie cand a trecut la urmatoarea paranteza si ce contine ea pt. $2, fiindca deja prima paranteza cuprinde tot sirul.
Ideea e sa fie facute 2 paranteze care sa nu intre in conflict.
Nu imi dau seama de ce da eroare 500, mai trebuie lucrat la codul Regex din paranteze. Incearca totusi si asa:
RewriteRule ^citeste-(.[^_]*)_([0-9]*).html /citeste_stire.php?url=$1&id=$2

Problema Mod Rewrite

Scris: Mar Aug 31, 2010
de claUdiu
Tot erroare da, dar am facut o modificare in loc de _ (bara jos) sa fie - (liniuta) acuma apare ID-ul din url si pe pagina transformata cu Mod Rewrite dar nu apare commentariul....