[PATCH] Include query string in Location redirects
Mr Allwyn Fernandes <[email protected]> Tue, 11 Sep 2007 05:18:34 +1000
| Newsgroups | gmane.network.mathopd |
|---|---|
| Organization | Stobor Pty Ltd |
| Message-ID | <[email protected]> |
--Boundary-00=_KiZ5Gd9TFkVapx0
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Hi all,
I noticed that when using the "Location http://" syntax for redirects, Mathopd
doesn't include the query string in the redirected url. For example, using
the configuration:
Host example.net
Control {
Alias /
Location http://example.com
}
if you access the url:
http://example.net/pages/index.php?q=4
you are redirected to:
http://example.com/pages/index.php
Since I needed the query string to be passed to the redirected page, I've
hacked up a quick patch which adds it back in to the destination url:
http://example.com/pages/index.php?q=4
If there is no query string, then no change is made. (Specifically, the
question mark is not added in, either.) So http://example.net/sample.html
redirects to http://example.com/sample.html
It's a fairly straightforward change, and I've included patches for both 1.5p6
and 1.6b9.
The patch can be applied as
/tmp/mathopd-1.6b9$ gunzip QueryStringInRedirect.1.6b9.diff.gz | patch -p1
If there are any problems, questions or comments, please don't hesitate to let
me know.
Cheers,
Allwyn.
--
Allwyn Fernandes
Director
Stobor Pty Ltd
Mobile: + 61 430 436 758
LinkedIn: http://www.linkedin.com/in/AllwynFernandes
--Boundary-00=_KiZ5Gd9TFkVapx0
Content-Type: text/x-diff;
charset="us-ascii";
name="QueryStringInRedirect.1.5p6.diff"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="QueryStringInRedirect.1.5p6.diff"
ZGlmZiAtcnUgbWF0aG9wZC0xLjVwNi9zcmMvcmVxdWVzdC5jIG1hdGhvcGQtMS41cXMvc3JjL3Jl
cXVlc3QuYwotLS0gbWF0aG9wZC0xLjVwNi9zcmMvcmVxdWVzdC5jCTIwMDctMDctMjEgMjA6NDg6
MDAuMDAwMDAwMDAwICsxMDAwCisrKyBtYXRob3BkLTEuNXFzL3NyYy9yZXF1ZXN0LmMJMjAwNy0w
OS0xMSAwNDo1MDo0MS4wODY3MjQ4NDggKzEwMDAKQEAgLTE0OTcsOSArMTQ5NywxNCBAQAogCQkJ
cmV0dXJuIC0xOwogCQlicmVhazsKIAljYXNlIDMwMjoKLQkJaWYgKHItPmxvY2F0aW9uKQotCQkJ
aWYgKHBvb2xfcHJpbnQocCwgIkxvY2F0aW9uOiAlc1xyXG4iLCByLT5sb2NhdGlvbikgPT0gLTEp
Ci0JCQkJcmV0dXJuIC0xOworCQlpZiAoci0+bG9jYXRpb24pIHsKKwkJCWlmIChyLT5hcmdzKSB7
CisJCQkJaWYgKHBvb2xfcHJpbnQocCwgIkxvY2F0aW9uOiAlcz8lc1xyXG4iLCByLT5sb2NhdGlv
biwgci0+YXJncykgPT0gLTEpCisJCQkJCXJldHVybiAtMTsKKwkJCX0gZWxzZSB7CisJCQkJaWYg
KHBvb2xfcHJpbnQocCwgIkxvY2F0aW9uOiAlc1xyXG4iLCByLT5sb2NhdGlvbikgPT0gLTEpCisJ
CQkJCXJldHVybiAtMTsKKwkJCX0KIAkJYnJlYWs7CiAJY2FzZSA0MDE6CiAJCWlmIChyLT5jICYm
IHItPmMtPnJlYWxtKQpAQCAtMTU1Miw4ICsxNTU3LDEzIEBACiAJCXJldHVybiAtMTsKIAlzd2l0
Y2ggKHItPnN0YXR1cykgewogCWNhc2UgMzAyOgotCQlpZiAocG9vbF9wcmludChwLCAiVGhpcyBk
b2N1bWVudCBoYXMgbW92ZWQgdG8gVVJMIDxhIGhyZWY9XCIlc1wiPiVzPC9hPi5cbiIsIHItPmxv
Y2F0aW9uLCByLT5sb2NhdGlvbikgPT0gLTEpCi0JCQlyZXR1cm4gLTE7CisJCWlmIChyLT5hcmdz
KSB7CisJCQlpZiAocG9vbF9wcmludChwLCAiVGhpcyBkb2N1bWVudCBoYXMgbW92ZWQgdG8gVVJM
IDxhIGhyZWY9XCIlcz8lc1wiPiVzPyVzPC9hPi5cbiIsIHItPmxvY2F0aW9uLCByLT5hcmdzLCBy
LT5sb2NhdGlvbiwgci0+YXJncykgPT0gLTEpCisJCQkJcmV0dXJuIC0xOworCQl9IGVsc2Ugewor
CQkJaWYgKHBvb2xfcHJpbnQocCwgIlRoaXMgZG9jdW1lbnQgaGFzIG1vdmVkIHRvIFVSTCA8YSBo
cmVmPVwiJXNcIj4lczwvYT4uXG4iLCByLT5sb2NhdGlvbiwgci0+bG9jYXRpb24pID09IC0xKQor
CQkJCXJldHVybiAtMTsKKwkJfQogCQlicmVhazsKIAljYXNlIDQwMToKIAkJaWYgKHBvb2xfcHJp
bnQocCwgIllvdSBuZWVkIHByb3BlciBhdXRob3JpemF0aW9uIHRvIHVzZSB0aGlzIHJlc291cmNl
LlxuIikgPT0gLTEpCg==
--Boundary-00=_KiZ5Gd9TFkVapx0
Content-Type: application/x-gzip;
name="QueryStringInRedirect.1.6b9.diff.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="QueryStringInRedirect.1.6b9.diff.gz"
H4sICCmU5UYAA1F1ZXJ5U3RyaW5nSW5SZWRpcmVjdC4xLjZiOS5kaWZmAL1UXU+DMBR9Zr/iZsmW
GSijwHSg+/gBezL6YLLE1K4T4kaxH5po/O+2jJltEjQxkRCg5/bec+49Dat8vQYkNGyJyni5Qtg/
f0iGUtChYM+aSeXTw9izPI51EEJtuU4YBBfI3CGGMEhjnOLID/YXuNg8O67rtnHUNRKEMQRxOrpI
o8THSRiG4+Qc1zXmc0A4HodeYgD7xjHM5x1wHEcwpUVhwpd2+SAYebJflEgGURCmHeQ4+RoGAk03
nBKV8+LMYhVYcr65L0VeqEHpQXdRb0ihJ5diWXQ9OEyDycTw7LIPed3vDPBu0T1MxKPcQz/xzpqo
q8WuSq2hKnUiwvkAtjFt/46opcHm4t/nGwc4tWjdJoV+39ajaGq2bbZnO99GceSNjW+jeOzhqPbt
yDb5miuaVTWkIkpXw2rw8KSbmyyXsOJUb1mhICMStvyFrUBxuL1ewBWBTLD1ZNk1zXanPXk1JFO/
cbSNFjc6fGjl3yTNalWzNmGW7jcn4Vjr0Tn438E1qWk/OCfa7riGghkxpeAlE0C0+XWI/K2isQq1
yVe2AcEk14Iyq+yL/xPZoWjT8wQAAA==
--Boundary-00=_KiZ5Gd9TFkVapx0
Content-Type: application/x-gzip;
name="QueryStringInRedirect.1.5p6.diff.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="QueryStringInRedirect.1.5p6.diff.gz"
H4sICMWS5UYAA1F1ZXJ5U3RyaW5nSW5SZWRpcmVjdC4xLjVwNi5kaWZmAL1UXUvDMBR97n7FZeBQ
unRJbd1W9/UD9iT6IAwkZpktbk2XDwXF/27SdbLNUgXBUtrm3txzzr0ndJmtVoCkgQ3VqSiWiARx
cdVTkvUk3xqudMAOc1t1nGshhJpqvRDjPrJ3SCDESTRIMA7w/gKf2GfL9/0mjgpjiAgBHCWxhSEB
Hlz1w2gQDSqM2QwQiYb97tAG3JtEMJu1wPM8ybWRuU1fu+Wj5PTZfTGqOFziMGkhz8tWcC7RZC0Y
1ZnIL1ysDBZCrB8KmeX6vOhCe15tSOBMLeQib3fhsAzGY8uzqz7k9b8zwLuL7sNUPql96CfeaR11
udihVBpKqBMR3gfwtW37d0QNDdaDf59vhEniolWbDDodh8fQxG5bby52vsVx2HVGxrH17bLy7cg2
9ZpplpYYSlNtymHVeHjSzW2aKVgKZjY815BSBRvxwpegBdzdzGFEIZV8NV60bbPtyZka9egkqB1t
rcW1Dh9a+TdJ00rVtEmYo/vNSTjWenQO/ndwdWqaD86JtnthIOdWTCFFwSVQY38dMnsraZxCY+u1
a0ByJYxk3Cn74v8E3VT0M/MEAAA=
--Boundary-00=_KiZ5Gd9TFkVapx0--