[ Kusur @ 20.05.2015. 13:19 ] @
Pozdrav svima,

kako da pomoću htaccesa izvršim redirekciju starih url-ova na nove?

Stari
www.domen.com/Ime_nekog_proizvoda.html

Novi
www.domen.com/2345-Ime_nekog_proizvoda.html

Novi URL sadrži broj to jest ID proizvoda koji mi potreban. Hteo bih da kada neko pristupi sajtu sa starim url-om BEZ BROJA bude "prebačen" na novi url SA brojem.

Unapred hvala.
[ ColdKeyboard @ 20.05.2015. 13:38 ] @
Mislim da to neces uspjeti samo sa .htaccess jer on ne moze da pristupi databazi i nadje koji je uid "Ime_nekog_proizvoda".

Ono sto bi moglo da radi je da "hvatas" sve linkove bez uid i da ih saljes na neku skriptu recimo redirect.php koja bi nasla uid na osnovu imena proizvoda i onda uradila redirect na link sa uid-om preko header() ili kako god ti najvise odgovara.
Ja bih u header obavezno stavio kod 301 da crawleri znaju da je stranica premestena i da indeksiraju pravu stranicu sa uid-om tipa:

Code:

header("HTTP/1.1 301 Moved Permanently");
header("Location: www.domen.com/$proizvodUID-Ime_nekog_proizvoda.html"); 
[ Tpojka @ 20.05.2015. 13:59 ] @
Postavi trenutni kod iz htaccess-a.
[ Kusur @ 20.05.2015. 14:17 ] @
Prethodni čovek koji je radio sajt nije radio redirekciju url-ova preko htakesa, BAR JA TAKO MISLIM, a ja se ne snalazim sa njegovim načinom rada pa pokušavan da uradim na način koji koliko toliko znam ali želim da zadržim stare url-ove da "Gugleta" i drugi "popisivači" ne bi "kaznili sajt".

Evo SADRŽAJA .htaccesa-a

Options FollowSymLinks
DirectoryIndex index.php

RewriteEngine On
RewriteBase /
#RewriteCond /%{REQUEST_FILENAME} !-f
#RewriteCond /%{REQUEST_FILENAME} !-d
#RewriteRule ^(.+) index.php/$1
RewriteCond $1 !^(index\.php|images\/|slike\/|marty_bucella\/|pics\/|css\/|js\/|robots\.txt|admin\/|favicon\.ico|vesti\.xml|sitemap\.xml|ADM\/|nar\/|parts\/|preuzimanje\/|proba\/)
RewriteRule ^(.*)$ index.php/$1 [L]

#!^(index\.php|images\/|slike\/|marty_bucella\/|pics\/|css\/|js\/|robots\.txt|admin\/|favicon\.ico|vesti\.xml|sitemap\.xml|ADM\/|nar\/|parts\/|preuzimanje\/)
#RewriteRule ^(.*)$ index.php/$1 [L]


ColdKeyboard , hvala ti za na brzom odgovoru - mislim da je to dobar predlog.
[ Tpojka @ 20.05.2015. 14:32 ] @
Nema tu nista, u pravu si.
Mislio sam da je unutra rewrite rule stranice koja povlaci GET pa preuredjeno preko htaccess-a.
Bice da je PHP uradjen tako kako je uradjen i trebalo bi uraditi rewamp PHP koda.
Ako je u pitanju neki framework (ili bez obzira), provjeri route.php ili tako neki fajl.
[ Kusur @ 20.05.2015. 14:36 ] @
Hvala.

Da li možda znaš, kako da sa htaksesom "uhvatim" te url-ove bez ID-a?

Nisam sigaran da ću znam ispravan "Rewrite Rule".

Unapred hvala.

[ Tpojka @ 20.05.2015. 14:47 ] @
Ne postoji nacin da ti htaccess doda id ako nije prebuilt u linku.
Tj, morao bi da znas kako izgleda izvorni php link za tako nesto. U smislu:
Code (php):
www.domen.com/index.php?id=$1&name=$2

ili nesto slicno. To vec zavisi od nacina koji je definisan u PHP kodu odnosno od toga kako PHP obradjuje GET varijable.
[ Jbyn4e @ 20.05.2015. 20:18 ] @
Treba ti nesto ovako:
http://www.elitesecurity.org/t...m-slovima-bez-nasih-slova-kako

samo da napravis php koji ce na osnovu ulaza da ti napravi izlaz sa ID-jem - to moras sam da znas kako da dobijes.