Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Portare url rewrite da .htaccess Apache a web.config IIS

    Ciao a tutti!
    Vi scrivo perchè ho un problema che al momento non ho ancora capito come risolvere , e quindi spero in un vostro aiuto.

    Ho appena implementato il meccanismo di url rewrite per il mio sito, che in locale gira su PHP ed Apache.
    Il tutto funziona benissimo.

    Purtroppo, il problema è sorto quando ho caricato le modifiche sul server del provider:
    ho scoperto che PHP "corre" su IIS invece che su Apache , e quindi il mio bel file .htaccess non serve proprio a niente, in quanto è necessario creare e configurare un file di nome web.config..

    Ho provato a cercare un convertitore online, ma il codice che mi ha creato non viene visto dal server web, e quando clicco su un link l'url rewrite non scatta e mi viene restituito l'errore 404.

    Purtroppo non conosco IIS, e non ho diretto accesso alle sue impostazioni a livello hosting server, quindi non so proprio come fare.

    Ecco cosa contiene il mio file .htaccess per l'URL rewrite:
    codice:
    RewriteEngine On
    RewriteRule ^([0-9]+)-([^/]+)\.html$ pagina.php?idshw=$1
    Il convertitore on line mi ha tradotto il tutto così:
    codice:
      <rule name="rule 1q">
        <match url="^([0-9]+)-([^/]+)\.html$"  />
        <action type="Rewrite" url="/pagina.php?idshw={R:1}"  />
      </rule>
    ma purtroppo, una volta inseriti questi codici sul file web.config, e posizionato quest'ultimo nella root, comunque mi ritorna l'errore 404.

    Non so più cosa fare.

    Spero in un vostro aiuto, grazie!

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    non conosco quasi per niente IIS, però da un po' di documentazione online mi pare che il file web.config sia più dettagliato di quello che hai postato tu

    Giusto un esempio: http://www.iis.net/learn/application...-iis-webconfig

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Benvenuto.
    urlrewrite e in generale htaccess riguarda solo il server, non PHP, ti sposto.

  4. #4
    @clasku
    SI, effettivamente anche dalle ricerche che ho fatto io si vede che il web.config è un file abbastanza articolato
    Il codice che ho postato è quello che mi ha generato il convertitore on line, ma purtroppo secondo me ha appunto solo convertito il mio codice presente nel file .htaccess, senza inserire anche gli altri contenuti di configurazione standard che devono essere presenti in un file we.config.

    Il problema è che non riesco a trovare online un modello univoco standard di web.config a cui serva solamente aggiungere i codici derivanti dal convertitore che ho già.

    Sai/sapete niente dove posso trovare un web.config standard?
    Perchè non capisco nemmeno se può esistere un concetto di tale file standardizzato o se esso va di volta in volta adattato in ogni suo punto

    @Alhazred
    Grazie per il benvenuto e per aver spostato la discussione

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    io partirei dall'esempio nel link che ho messo nel messaggio precedente, creando l'xml completo e inserendo solo il nodo <rewrite>.
    una cosa tipo questa con nel nodo rule la tua regola

    codice HTML:
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="Imported Rule 1" stopProcessing="true">
                        <match url="^(.*)$" ignoreCase="false" />
                        <conditions>
                            <add input="{HTTP_HOST}" pattern="^example\.com$" />
                        </conditions>
    
    
                        <action type="Redirect" redirectType="Permanent" url="http://www.example.com/{R:1}" />
                    </rule>
                </rules>
            </rewrite>
        </system.webServer>
    </configuration>

    Ultima modifica di clasku; 21-07-2014 a 11:12

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    Spero di sbagliare ma mi sembra che web.config non sia riconosciuto/interpretato da PHP/ASP ma solo da ASPX non potendo modificare le impostazioni di IIS credo che l'unica strada sia chiedere al provider il trasferimento su una macchina Linux/APACHE (o che ti modifichino IIS)

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Eccomi qui


    @cavicchiandrea
    Da quel che ho visto in rete, il file web.config prescinde dal linguaggio utilizzato in quanto va a configurare i settaggi dell'IIS. Però non ci metto la mano sul fuoco

    @clasku
    Proverò a fare esattamente come consigli!

    Stasera o al massimo domani sera provo e ti/vi faccio sapere.

    Spero tanto che non sia come dica Andrea, altrimenti sono cavoli amari perchè l'URL rewriting lo ritengo fondamentale e non posso farne a meno!

    Grazie mille intanto per l'interesse ed il tempo dedicato, appena riesco vi aggiorno!


  8. #8
    Niente da fare ragazzi, non riesco a farlo funzionare

    Ho creato il web.config così:
    codice:
    <?xml version="1.0" encoding="UTF-8"?><configuration>
        <system.webServer>
            <rewrite>
                <rules>
                    <rule name="Imported Rule 1" stopProcessing="true">
                      <match url="^([0-9]+)-([^/]+)\.html$" ignoreCase="false" />
                      <conditions>
                         <add input="{R:1}" ignoreCase="false" />
                      </conditions>
                      <action type="Rewrite" url="pagina.php?idshw={R:1}" appendQueryString="true" />
                    </rule>
                </rules>
            </rewrite>
        </system.webServer>
    </configuration>
    Ma non funziona, continua a ritornarmi l'errore 404..

    Ho sbagliato qualcosa secondo voi?

    PS. Ho letto in rete che non è necessario riavviare IIS per fargli vedere le modifiche al web.config
    Ultima modifica di ngc-diego-1983; 22-07-2014 a 13:30

  9. #9
    Ragazzi, fermi tuttI!
    Finalmente sono riuscito a sentire l'assistenza tecnica del provider.

    Sono stupefatto, ma il server su cui è attualmente ospitato il dominio è un win 2003, e non prevede nessun meccanismo di url rewrite.

    Mi hanno detto che è necessario spostare il sito su un server Linux, così da poter usare l' .htaccess e risolvere ogni problema alla radice. Hanno detto che volendo hanno anche server 2008 o 2012, ma che mi consigliano di passare a server Linux per esser più tranquillo col rewrite.

    Per forza non riuscivo a far funzionare il meccanismo..

    A questo punto credo propenderò per spostare il sito su server Linux, anche se temo che perderò parte dell'indicizzazione Google ottenuta sino ad ora

    Pazienza, l'importante è poter fare l'URL rewrite!

    Grazie ancora a tutti per la disponibilità, alla prossima!

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2014
    residenza
    Aosta
    Messaggi
    36
    Ho un problema simile usi per caso un server giga it ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.