[ Jbyn4e @ 21.09.2013. 09:22 ] @
Ne znam da li je ovo prava oblast, jer rewrite se javlja na puno mesta na forumu, ali da probam.

Recimo da imam sajt koji ima linkove tipa:
www.sajt.com/folder/neki-link-sa-NAIM-ŠĐČĆŽ-slovima.html
i , ovo je vrlo važno, koji je google tako indeksirao.

Želim da na tom sajtu to to prebacim na nove linkove, ali da pritom izgubim naša slova, tako da google shvati da je to prešlo na novi url i da postojeće linkove samo ispravi, ali bez naših slova, tj. da novi linkovi budu oblika:

www.sajt.com/folder/neki-link-bez-NASIH-SDCCZ-slova.html

Ima neko ideju kako da uradim 301 redirekciju a da izbacim naša slova?

U obzir dolazi i da prosledim nekako php skriptu url (recimo prosledi.php), da on uradi 301 redirect, ali da google ne misli da se link pretvorio u prosledi.php sa parametrima, već da se dogodilo gore navedeno.

Hvala unapred.
[ Jbyn4e @ 21.09.2013. 15:51 ] @
Da odgovorim samom sebi, a možda bude korisno i drugima.

Da bi se pozvao eksterni program koji vraća linkove, potrebno je koristiti RewriteMap:
Code:

RewriteMap router prg:/puna/putanja/do/fajl.php
RewriteRule ^/putanja/(.*)$  /putanja/${router:$1}  [R=301,L]


U fajl.php treba označiti na početku čime će se izvršiti (kao shell kod shell skriptova). fajl.php preuzima ono iz zagrada kao standard input, i potrebno je da vrati kao rezultat na standard output. Takođe, potrebno je da stalno radi i osluškuje input. Zato fajl.php izgleda nekako ovako:

Code:

#!/usr/bin/php
<?php
// nemoj nikad da završiš
set_time_limit(0);
    while (1) {
//uzmi ulaz
    $ulaz=trim(fgets(STDIN,8096));
//samo ako ima išta na ulazu treba ga obraditi
    if (strlen($ulaz)>0) {
// ovde obrada ulaza, nalaženje potrebnih podataka ili izmena ulaznog stringa, npr. izbacivanje naših slova
// to već zavisi šta želite da postigete.... npr.:
        $izlaz=beznasihslova($ulaz);
// ispisujemo izlaz
        fputs(STDOUT, $izlaz."\n");
//završi if
     }
//završi while
 }


Toliko zasad o tome.