Here’s a small sample that is not working:
server {
# /index.cfm?PageID=1 → /
location ^~ /index.cfm?PageID=1$ {
rewrite ^ / permanent;
}
location / {
try_files $uri @django;
}
location @django {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
include uwsgi_params;
if (!-f $request_filename) {
uwsgi_pass staging;
break;
}
}
}
It seems like the first directive is ignored when I request
/index.cfm?PageID=1. The idea is to redirect some old links.
Thanks
–
Victor Noagbodji
http://www.victorsreviews.com
victor
October 19, 2011, 6:28pm
2
19.10.2011, 22:53, “victor” [email protected] :
Here’s a small sample that is not working:
server {
/index.cfm?PageID=1 → /
location ^~ /index.cfm?PageID=1$ {
rewrite ^ / permanent;
location = /index.cfm {
if ($arg_PageID = 1) {
return 301 /;
}
try_files $uri @django ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
include uwsgi_params;
if (!-f $request_filename) {
uwsgi_pass staging;
http://www.victorsreviews.com
nginx mailing list
[email protected]
nginx Info Page
–
br, Denis F. Latypoff.
victor
October 19, 2011, 6:33pm
3
Hi Dennis,
Thanks for your help,
If I understand correctly, I need to use $arg_PARAMS. But in the full
source, I have expressions like this one:
/index.cfm?PageID=(2|46)&(.*)$
how do I deal with them in that case, if I can’t use regex on the
query parameters?
Thanks
2011/10/19 Denis F. Latypoff [email protected] :
proxy_set_header X-Real-IP $remote_addr;
nginx mailing list
[email protected]
nginx Info Page
–
br, Denis F. Latypoff.
nginx mailing list
[email protected]
nginx Info Page
–
Victor Noagbodji
http://www.victorsreviews.com
victor
October 19, 2011, 6:38pm
4
19.10.2011, 23:32, “victor” [email protected] :
Hi Dennis,
Thanks for your help,
If I understand correctly, I need to use $arg_PARAMS. But in the full
source, I have expressions like this one:
/index.cfm?PageID=(2|46)&(.*)$
map $arg_PageID $is_old {
default 0;
2 1;
46 1;
}
server {
location = /index.cfm {
if ($is_old) {
return 301 /;
}
# regular rules
}
}
include uwsgi_params;
–
nginx mailing list
[email protected]
nginx Info Page
–
br, Denis F. Latypoff.
victor
October 19, 2011, 6:40pm
5
Sorry, index.cfm, of course, not index.php.
Andrejs
Posted at Nginx Forum:
victor
October 19, 2011, 6:51pm
6
Thanks again. I understand the map solution. Here’s another issue, you
see, the links below all map to the index page (there are other pages
too, that have those PageID, ParentPageID, etc… parameters).
/index.cfm?PageID=1
/index.cfm?resetCache=yes
/index.cfm?PageID=1&ParentPageID=1&NavID=1
/index.cfm?PageID=22&ParentPageID=1&NavID=22
/index.cfm?PageID=14&ParentPageID=38&NavID=38&ReferringPage=1
all map to / (index)
/index.cfm?PageID=35&ParentPageID=26&NavID=26
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=8&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=9&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=10&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=15&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=16&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=11&PageText=off
and these for example would map to another unique page.
The parameters specify the actual page that must be mapped to. And
since I now know I can’t use regex on query parameters, is there a way
to handle this situation?
Thanks
On Wed, Oct 19, 2011 at 12:40 PM, locojohn [email protected] wrote:
–
Victor Noagbodji
http://www.victorsreviews.com
victor
October 19, 2011, 6:51pm
7
Thanks,
Please see reply to Denis.
On Wed, Oct 19, 2011 at 12:40 PM, locojohn [email protected] wrote:
–
Victor Noagbodji
http://www.victorsreviews.com
victor
October 19, 2011, 6:39pm
8
Hi!
Arguments cannot be checked with location directive. Put the below code
into your main server {} block, for example, before declaring any of the
locations:
if ($request_uri ~ ^/index\.php\?PageID=1$) {
rewrite ^ /? permanent;
}
Andrejs
Posted at Nginx Forum:
victor
October 20, 2011, 2:20am
9
On 19 Out 2011 17h51 WEST, [email protected] wrote:
all map to / (index)
Taking the lead from Denis, try:
map $request_uri $is_old {
default 0;
~/index.cfm?PageId=\d+ 1;
~/index.cfm?PageID=\d+&ParentPageID=\d+&NavID=\d+ 1;
~/index.cfm?PageID=\d+&ParentPageID=\d+&NavID=\d+&ReferringPage=\d+
1;
}
/index.cfm?PageID=35&ParentPageID=26&NavID=26
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=8&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=9&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=10&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=15&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=16&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=11&PageText=off
map $request_uri $is_old_also {
default 0;
~/index.cfm?PageID=\d+&ParentPageID=\d+&NavID=\d+&ProductID=\d+&PageText=off
1;
}
Then you use the same type of if in location like exemplified by Denis
before. Just also a test for $is_old_also.
…
if ($is_old_also) {
return 301 ;
}
and these for example would map to another unique page.
The parameters specify the actual page that must be mapped to. And
since I now know I can’t use regex on query parameters, is there a
way to handle this situation?
See above. Try it.
— appa
victor
October 19, 2011, 7:08pm
10
Ah sorry, this one was meant for you Denis, not sure how gmail handled
it.
Thanks again. I understand the map solution. Here’s another issue, you
see, the links below all map to the index page (there are other pages
too, that have those PageID, ParentPageID, etc… parameters).
/index.cfm?PageID=1
/index.cfm?resetCache=yes
/index.cfm?PageID=1&ParentPageID=1&NavID=1
/index.cfm?PageID=22&ParentPageID=1&NavID=22
/index.cfm?PageID=14&ParentPageID=38&NavID=38&ReferringPage=1
all map to / (index)
/index.cfm?PageID=35&ParentPageID=26&NavID=26
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=8&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=9&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=10&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=15&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=16&PageText=off
/index.cfm?PageID=35&ParentPageID=26&NavID=35&ProductID=11&PageText=off
and these for example would map to another unique page.
The parameters specify the actual page that must be mapped to. And
since I now know I can’t use regex on query parameters, is there a way
to handle this situation?
2011/10/19 Denis F. Latypoff [email protected] :
map $arg_PageID $is_old {
regular rules
proxy_set_header X-Real-IP $remote_addr;
nginx mailing list
Victor Noagbodji
nginx mailing list
[email protected]
nginx Info Page
–
Victor Noagbodji
http://www.victorsreviews.com