Estoy usando el archivo estándar Zend /public/.htaccess
(que se muestra a continuación).El parámetro con codificación URL rompe las reglas de reescritura Zend predeterminadas
En este momento estoy tratando de adelante el usuario a un controlador/acción específica, y suministrar la URL en el éxito de redirección como un parámetro de URL.
La URL resultante (montado & codificado a través de vista URL ayudante de Zend) tiene el siguiente aspecto:
localhost/crop/index/successRedirect/localhost%2Fprofile%2Fbasic
Sin embargo, este patrón aparentemente viola el valor predeterminado, las reglas de paquete mod_rewrite Zend: el acceso a la URL se obtiene un Apache estándar 404 error; Zend no recibe la solicitud.
Cuando se manualmente re-formado El parámetro final de la siguiente manera, la solicitud funciona como deseado:
localhost/crop/index/?successRedirect=localhost%2Fprofile%2Fbasic
Sin embargo esto requiere una, de dos etapas proceso de generación de URL hacker. Sería ideal si la URL producida por el asistente de visualización funcionara de manera independiente.
¿Qué se puede hacer para permitir el paso de la codificación de URL? ¡Cualquier idea sería apreciada!
Estos son los contenidos de mi .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]
Activación RewriteLog como tal no produce ninguna salida para el patrón en su defecto:
RewriteLogLevel 9
RewriteLog "<path>/rewrite.log"
He intentado las soluciones propuestas por los dos siguientes Q Una de &, sin cambios:
- 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
QSA
directiva para la regla de reescritura)
Esta solución propuesta tampoco tuvo ningún efecto: http://stackoverflow.com/questions/6520484/mod-rewrite-urlencoding-an-already-urlencoded-querystring-parameter-any-way-to - add 'NE' directive para 'RewriteRule' –