I turn this on when I'm debugging Rewrite rules:
# Apache 2.4 - rewrite debug - trace0:trace8
       RewriteLog      /var/log/httpd/rewrite.log
       LogLevel        rewrite:trace4

Bill

On 3/1/2019 10:08 PM, Todd Zullinger wrote:
Hi,

Alex wrote:
I believe you want to use something like:

     RewriteCond %{QUERY_STRING} ^option=login$
     RewriteRule ^/index.php?$   /register       [R=301,L]

It's been a while since I've done this, so I'm not sure
whether the "?" after index.php is matched.  You may need to
adjust that pattern.
I would expect to not want the "?" in the RewriteRule; it should be
stripped by the process which breaking things into the path and the
query_string. Untested opinion, it has been a while for me too.
Yep.  I saw some suggestions with the trailing '?' so I
included it in the example, since I wasn't sure either way.
It's not wanted or needed, now that I've tested.

And in principle you want to escape the ".": "\."
No doubt.  I tend to try and make any regexp's tightly
defined when I'm putting them into use.  Though making them
a bit loose to start can help to ensure that the rest of the
rule is hit.

Both with the ? and without didn't make a difference. It didn't work either way.

It seemed to ignore it entirely. It continued to report "component not
found", as if it's trying to process the option= portion.

If no one has any further ideas, perhaps you know of a better resource?

Of course I'm also happy to try other ideas...
I just tested locally.  Here's what worked for me:

     [tmz@f29 ~]$ cat /etc/httpd/conf.d/rewrite_test.conf
     <Directory /var/www/html>
         RewriteEngine on
         RewriteCond %{QUERY_STRING} ^option=login$
         RewriteRule ^index.php      /register       [R=301,L,QSD]
     </Directory>

     [tmz@f29 ~]$ curl -I 'localhost/index.php?option=login'
     HTTP/1.1 301 Moved Permanently
     Date: Sat, 02 Mar 2019 03:00:52 GMT
     Server: Apache/2.4.38 (Fedora)
     Location: http://localhost/register
     Content-Type: text/html; charset=iso-8859-1

The URI was matched without a leading /.  To strip the query
string, the QSD flag is handy.  That's in httpd >= 2.4.0.


_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org
_______________________________________________
users mailing list -- users@lists.fedoraproject.org
To unsubscribe send an email to users-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/users@lists.fedoraproject.org

Reply via email to