• apache2 2.4.56-1 redirects not normal working appeared %3f

    From alex@21:1/5 to All on Tue Mar 21 11:40:02 2023
    Package: apache2
    Version: 2.4.56-1


    Hello.
    I used to redirect
    RewriteRule ^test\.php$ https://www.test.com/? [R=301,L]

    Result
    test.com/test.php 301 > https://www.test.com/


    After upgrading to the 2.4.56-1
    Result
    test.com/test.php 301 > https://www.test.com/%3f

    What is the problem can you fix it?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hleb Valoshka@21:1/5 to alex on Tue Mar 21 13:00:01 2023
    On 3/21/23, alex <pairoxp@gmail.com> wrote:
    Package: apache2
    Version: 2.4.56-1

    Wrong list.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Pavel Ammosov@21:1/5 to alex on Wed Mar 22 00:10:01 2023
    On Tue, Mar 21, 2023 at 01:15:08PM +0300, alex wrote:
    RewriteRule ^test\.php$ https://www.test.com/? [R=301,L]
    After upgrading to the 2.4.56-1
    Result
    test.com/test.php 301 > https://www.test.com/%3f

    Действительно, после обновления apache2 в bullseye такой редирект стал экранировать вопросительный знак
    в новом URL. Но есть и хорошие новости, в старом apache2 (2.4.54-1~deb11u1) знак вопроса просто исчезал:

    | curl -v http://localhost:1289/test.php
    | * Connected to localhost (::1) port 1289 (#0)
    | > GET /test.php HTTP/1.1
    | [...]
    | >
    | < HTTP/1.1 301 Moved Permanently
    | < Server: Apache/2.4.54 (Debian)
    | < Location: http://example.com/
    | ^^^

    т.е. можно просто убрать этот вопрос. А если он использовался для удаления параметров URL из нового адреса,
    то просто добавить флаг QSD (https://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_qsd):

    RewriteRule ^test\.php$ https://www.test.com/ [R=301,L,QSD]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)