Domanda

Dopo aver caricato il mio progetto Kohana al mio server GoDaddy, ho notato il mio file .htaccess di serie non funzionava sufficientemente per fornire gli URL puliti. Dopo alcune linee guida, ho finito con la seguente regola:

RewriteRule .* index.php?kohana_uri=$0 [PT,L]

Questa ottenuto i miei bei-URLs lavorare di nuovo, ma oggi ho scoprire che possa essere rompendo la mia ricerca-motore interno, che utilizza anche GET-style variabili:

/search?terms=php

I valori non sono state trovate dagli script. Sono sul mio server di sviluppo, che non ha il RewriteRule modificato, ma non sul server Godaddy che fa utilizzare il RewriteRule.

Ho ragione nel ritenere che regola sta rompendo qualsiasi script capacità di leggere da $ _GET, ed in caso affermativo come posso rimediare a questo?

È stato utile?

Soluzione

Forse usando QSA nei vostri RewriteRules, in questo modo:

RewriteRule .* index.php?kohana_uri=$0 [PT,QSA,L]

Vedere la manuale del mod_rewrite (citando):

  

'qsappend | QSA' (string query di accodamento)

     

Questa bandiera costringe il motore di riscrittura per aggiungere una parte di stringa di query   della stringa sostituzione al   stringa esistente, invece di sostituire   esso. Utilizzare questa opzione quando si desidera aggiungere più   dati alla stringa di query tramite una riscrittura   regola.

potrebbe aiutare (non testato nel tuo caso particolare, ma mi ricordo di aver usato questo qualche tempo fa, di un qualche tipo di problema come questo)

Altri suggerimenti

Credo che si potrebbe aggiungere: RewriteCond $1 !^(search), o una variazione di tale

.

Se si desidera utilizzare una pratica standard e senza stringa di query è necessario seguire solo questi passi e funzionerà proprio come localhost E non c'è bisogno di cambiare le regole di riscrittura.

Vai al tuo file manager conto Godaddy -> elenco WebRoot -> Crea php5.ini se non esiste e posto seguente riga: cgi.fix_pathinfo = 1

Ora è necessario riavviare il processo Web:

1). Accedi al tuo Account Manager. 2.) Fare clic su Web Hosting. 3.) Accanto al account di hosting che si desidera utilizzare, fare clic su Avvia. 4.) Nella sezione Statistiche & Monitor, fare clic su processi di sistema. 5.) Nella lista di sinistra, fare clic sul processo che si desidera visualizzare o fare clic su Tutti i processi per visualizzare tutti i processi in una sola volta. 6.) Per terminare un processo, fare clic sul pulsante all'estremità corrispondente nella barra degli strumenti.

Ora è possibile utilizzare URI_PROTOCOL come Auto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top