Regula .htaccess poate genera link-uri invalide(functionale)

Aici puteţi posta întrebari legate de instalare şi configurare PHP, Apache, IIS, MySQL, PostgreSQL, Oracle, SQL Server sau altele.

Moderator: Moderatori

cine_va
New Member
Mesaje: 4
Membru din: Sâm Mar 17, 2012 3:25 am

Regula .htaccess poate genera link-uri invalide(functionale)

Mesajde cine_va » Joi Iun 07, 2012 5:30 pm

se da un site: sa zicem exemplu [dot] com iar in htacces urmatoarea regula
RewriteRule ^view-products/[a-zA-Z0-9_,-_]*/[a-zA-Z0-9_,-_]*/([0-9]*).html$ index.php?page=product&id=$1 [L]
regula a fost facuta pt a putea crea linkuri bazate pe produse(id) din baza de date iar linkul ar arata cam asa:
/view-products/producator-view/producator-model-view/7899.html iar pagina se formeaza pe baza nr 7899 din link care reprezinta id din baza de date al modelului care se afiseaza in pagina

cum pot face astfel incat sa nu se mai poata forma linkuri aiurea care mai si functioneaza(generand astfel duplicate content)?....pt ca in momentul de fata datorita regulii din htacces se poate forma orice tip de link care are ca final 7899.html spre ex: - /view-products/aici-scriu-ce-vreau1/aici-scriu-ce-vreau2/7899.html
ma intereseaza o solutie care sa nu imi schimbe linkul actual(vreau sa merg pe aceste link-uri existente si care au fost deja indexate) dar care la orice tip de link care nu este format asa cum trebuie sa afiseze un 404(sau alta solutie daca exista)

precizez ca in linkul meu /view-products/producator-view/producator-model-view/7899.html :
- "producator-view" aici se pastreaza mereu "view" iar "producator" il pot verifica in baza de date cu ajutorul acestui id 7899 pt ca sa corespunda
- "producator-model-view" aici se pastreaza mereu "view" iar "producator" si "model" le pot verifica in baza de date cu ajutorul acestui id 7899

concluzie: pot face cumva o verificare daca linkul este asa cum ar trebui(si daca linkul este format ok sa afisez apoi pagina)...dar ce pot face pt a fi corect si util din punct de vedere SEO daca linkul nu este format cum trebuie?


daca credeti ca exista si alte solutii(htacces sau altceva) astept sugestii



MarPlo
Senior Member
Mesaje: 885
Membru din: Mie Sep 24, 2008 9:32 am
Localitate: Braila
Contact:

Mesajde MarPlo » Joi Iun 07, 2012 7:44 pm

Salut
Dupa ce verifici pagina in php, daca vezi ca nu corespunde adresa, poti adauga un header() cu redirect 301 la adresa buna.
Asa:

Cod: Selectaţi tot

header('Location: Adresa_buna', true, 301);
exit;

cine_va
New Member
Mesaje: 4
Membru din: Sâm Mar 17, 2012 3:25 am

Mesajde cine_va » Vin Iun 08, 2012 1:07 am

o idee buna...mersi frumos....dar asta este valabila in cazul in care id-ul exista in baza de date.....dar daca id nu mai exista in baza de date? sa ii fac header 404?

LATER EDIT:
am facut verificarea php pt validare link si acum daca linkul nu este cel potrivit dar are un id valid la sfarsit(pe care il gasesc in baza de date) imi face redirect 301 catre linkul corect al id-ului respectiv iar in caz ca linkul este scris incorect iar id este gol sau nu este gasit in baza de date imi seteaza header 404 Page not found

spuneti-mi daca ce am facut este corect si util din punct de vedere seo

Avatar utilizator
mihaitha
Senior Member
Mesaje: 2383
Membru din: Vin Mai 04, 2007 12:40 pm
Localitate: Sibiu
Contact:

Mesajde mihaitha » Mie Iun 13, 2012 11:56 am

E corect. Keep it up.


Înapoi la “Instalare”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 30 vizitatori