În această pagină vei găsi blocuri de cod care te vor ajuta să rezolvi problema URL-urilor care conțin parametri nedoriți.
Două sunt situațiile cele mai frecvente în care ai să vrei să scapi de parametrii unui URL:
Atunci când URL-ul conține PHPSESSID:
http://example.com/node?PHPSESSID=7dd1d5d1471fa4be2cca8f163cce3257
Sau atunci când URL-ul nu ar trebui să conțină parametri:
http://example.com/?tip=some-value
Pentru a îndepărta PHPSESSID plasează acest bloc de cod în fișierul .htaccess din rădăcina directorului aplicației tale web inteligente:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} PHPSESSID=.*$
RewriteRule .* %{REQUEST_URI}? [R=301,L]
</IfModule>
Pentru a îndepărta parametri nedoriți folosește acest bloc de cod:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} !=""
RewriteRule ^(.*)$ /$1? [R=301,L]
</IfModule>
ATENȚIE! Aceste blocuri de cod vor îndepărta complet parametrii unui URL.
Dacă vrei ca aceste reguli să excludă un director sau acele URL-uri care conțin anumiți parametri, atunci folosește acest bloc de cod:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} !=""
RewriteCond %{QUERY_STRING} !^numeparametru=.*
RewriteCond %{REQUEST_URI} !^/numedirector.*
RewriteRule ^(.*)$ /$1? [R=301,L]
</IfModule>
Dacă vrei să îndepărtezi doar unii parametri, spre exemplu doar parametrul PHPSESSID, atunci va trebui să folosești PHP.
Plasează acest bloc de cod în fiecare pagină PHP, înainte de a genera orice alt conținut afișat de către browser.
if (isset($_GET['PHPSESSID'])) {
/**
* Află dacă URL-ul conține doar PHPSESSID sau și alti parametri
*/
$str = (count($_GET) > 1) ? '?' : '';
/**
* în cazul în care PHPSESSID este primul parametru
*/
$requesturi = preg_replace('/\?PHPSESSID=[^&]+/', $str, $_SERVER['REQUEST_URI']);
/**
* în cazul în care PHPSESSID este printre parametri
*/
$requesturi = preg_replace('/&PHPSESSID=[^&]+/', "", $requesturi);
/**
* în cazul în care PHPSESSID este primul parametru, după ce va fi îndepărtat
* trebuie curățat URL-ul
*/
$requesturi = preg_replace('/\?&/', "?", $requesturi);
/**
* informează motoarele de căutare că pagina este mutată permanent la noul URL
* și redirecționează către URL-ul curat
*/
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://" . $_SERVER['HTTP_HOST'] . $requesturi);
exit;
}
Iată tehnologiile web pe care le folosesc
Trebuie să ai această carte! Este modul cel mai simplu de a afla de ce și cum trebuie să construiești un caracter puternic cu ajutorul căruia să obții ceea ce-ți propui, să ai succes în viață și să ajungi Dragostea Adevărată. - Succes! -
* Disponibilă doar pe www.Trim.ro
Cumpără
36.90RON
Citește ultimul articol
Alege Cosmote, Vodafone sau Orange; principalii operatori de telefonie mobila care pun la dispoziție servicii de internet mobil pe calculatorul tău.
Vezi ultima înregistrare video
Acesta este primul din cele 10 episoade care îți vor arăta cum să folosești CodeIgniter, librăria PHP cu care poți realiza aplicații web inteligente.
«Alege să lucrezi cu cine te ascultă, are răbdare și este interesat să îți înțeleagă nevoile, cum funcționează afacerea ta.»
creare website, standarde și competitivitate