Sto utilizzando il file standard Zend /public/.htaccess
(mostrato di seguito).Il parametro con codifica URL interrompe le regole di riscrittura Zend predefinite
Al momento sto cercando di avanti all'utente ad una specifica di controllo/azione, e forniscono l'URL on-successo-reindirizzamento come parametro URL.
L'URL risultante (assemblato & codificati tramite vista URL aiutante di Zend) si presenta così:
localhost/crop/index/successRedirect/localhost%2Fprofile%2Fbasic
Tuttavia questo schema apparentemente viola il default, Zend regole pacchetto mod_rewrite: l'accesso alla URL cede uno standard Apache 404 errore; Zend non riceve la richiesta.
Quando il parametro finale è manualmente riformato come segue, la richiesta funziona come desiderato:
localhost/crop/index/?successRedirect=localhost%2Fprofile%2Fbasic
Tuttavia ciò richiede un processo di generazione URL hackish due fasi. Sarebbe ideale se l'URL prodotto dall'assistente di visualizzazione funzionasse in modo indipendente.
Cosa si può fare per consentire il passaggio della codifica dell'URL? Qualsiasi intuizione sarebbe apprezzata!
Questi sono il contenuto del mio .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Abilitazione RewriteLog in questo modo produce alcuna uscita per il modello in mancanza:
RewriteLogLevel 9
RewriteLog "<path>/rewrite.log"
ho tentato le soluzioni proposte dai seguenti due Q & Un di, con nessun cambiamento:
- Adding encoded chars to the url breaks htaccess (
AllowEncodedSlashes On
) - Mod Rewrite and Using PHP's GET for URL's When not Following the Rules (uso direttiva
QSA
per regola di riscrittura)
Questa soluzione proposta non ha avuto alcun effetto: http://stackoverflow.com/questions/6520484/mod-rewrite-urlencoding-an-already-urlencoded-querystring-parameter-any-way-to - aggiungi la direttiva 'NE' per 'RewriteRule' –