• User Newbie

    Passare Parametro non esistente nel nuovo URL

    Ciao a tutti!

    vi espongo il mio problemone.... spero mi possiate aiutare!

    Esempio

    La pagina originale è
    scarpe_marche.php?idmarca=10

    ho riscritto il link in modo che sia
    marca-nike-10.html

    Inserento anche il nome della marca (Nike) che dal codice riesco facilmente a passare ma la regola di rewriting ignora questo primo parametro.

    RewriteRule ^/ marca-([^?/]+)-([^?/]+).html / scarpe_marche.php?idmarca=$2

    Ora la domanda è: come faccio a creare il 301 dato che a fare la regola opposta mi manca il parametro con il nome della marca ?

    RedirectRule ^/ scarpe_marche.php?idmarca=([^?/]+) /fra/xxx.it/marca-NOMEDELLAMARCA-$1.html [R=301]

    Esiste una scappatoia o il passare il nome della marca rende il redirect impossibile ?

    grazie a tutti :ciauz:


  • User

    Ciao,
    hai accesso al file di configurazione del server (apache ?) oppure no?

    Nel primo caso potresti usare una mappa con le marche.
    Altrimenti potresti fare il redirect in php dopo che hai recuperato il nome della marca


  • User Newbie

    ciao grazie della risposta!

    a) non sono su un server linux con Apache, ma sono su un server windows, sto usando un ISAPI che si chiama IIRF.

    b) ossia?


  • User

    Allora vediamo il caso B).

    Per essere sicuro di aver capito l'esigenza:

    hai la necessità che quando viene chiamato un url di questo tipo

    scarpe_marche.php?idmarca=10

    e l'id marca pari a dieci corrisponde a nike venga fatto un redirect con status code 301 verso un url di questo tipo

    /fra/xxx.it/marca-nike-******10.html **

    per fare questo, senza l'utilizzo di regole di rewrite, puoi utilizzare il php in questo modo

    il file scarpe_marche.php effettua le seguenti azioni:

    Recupera il parametro (request) idmarca
    Tramite il valore precedente recupera (sql?) il nome della marca
    Costruisce l'url di destinazione
    Applica un redirect 301
    Finisce (exit)

    Questo dovrebbe risolvere il tuo problema....