Параметр с кодировкой URL нарушает правила перезаписи Zend по умолчанию

Я использую стандартный 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"

Я попытался решения, предложенные следующими двумя вопросами и ответами, без изменений:

5
задан Community 23 May 2017 в 12:15
поделиться