I'm using the standard Zend /public/.htaccess
file (shown below).
At the moment I'm attempting to forward the user to a specific controller/action, and supply the on-success-redirect URL as a URL parameter.
The resulting URL (assembled & encoded via Zend's URL view helper) looks like this:
localhost/crop/index/successRedirect/localhost%2Fprofile%2Fbasic
However this pattern apparently violates the default, Zend package mod_rewrite rules: accessing the URL yields a standard Apache 404 error; Zend doesn't receive the request.
When the final parameter is manually re-formed as follows, the request works as desired:
localhost/crop/index/?successRedirect=localhost%2Fprofile%2Fbasic
However this requires a hackish, two-step URL generation process. It would be ideal if the URL produced by the view helper worked independently.
What can be done to permit the url-encoding to pass through? Any insight would be appreciated!
These are the contents of my .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]
Enabling RewriteLog like so produces no output for the failing pattern:
RewriteLogLevel 9
RewriteLog "<path>/rewrite.log"
I've attempted the solutions proposed by the following two Q&A's, with no change:
- 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 (use
QSA
directive for rewrite rule)