Я использую стандартный Zend / public /. htaccess
(показан ниже).
В настоящий момент я пытаюсь перенаправить пользователя конкретному контроллеру / действию, а указать URL-адрес при успешном перенаправлении в качестве параметра URL-адреса.
Результирующий URL-адрес (собранный и закодированный с помощью помощника просмотра URL-адресов Zend) выглядит следующим образом:
localhost/crop/index/successRedirect/localhost%2Fprofile%2Fbasic
Однако этот шаблон явно нарушает стандартные правила mod_rewrite пакета Zend: доступ к URL-адресу приводит к стандартной ошибке Apache 404; Zend не получает запрос.
Когда последний параметр вручную переформулируется следующим образом, запрос работает как надо:
localhost/crop/index/?successRedirect=localhost%2Fprofile%2Fbasic
Однако для этого требуется хакерский двухэтапный процесс генерации URL. Было бы идеально, если бы URL, созданный помощником представления, работал независимо.
Что можно сделать, чтобы разрешить прохождение url-кодировки? Любое понимание будет приветствоваться!
Это содержимое файла 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]
Включение RewriteLog таким образом не приводит к выходу для ошибочного шаблона:
RewriteLogLevel 9
RewriteLog "/rewrite.log"
Я попытался решения, предложенные следующими двумя вопросами и ответами, без изменений:
AllowEncodedSlashes On
) QSA
для правила перезаписи)