我有以下代码:
my $uri=$ENV{'REQUEST_URI'};
if ($uri=~/\/\?render=xml){
redirect(301,"Moved Permanently","urlsubstring");
}
我想要实现的目标是,如果用户访问我网站的任何位置,如果网页看起来像http://wwww.something.com/about/?render=xml
,我们会在没有render=xml portion
的情况下执行重定向到网址。正如您所看到的那样,我关注的是脚本的render=xml
查询部分。
所以,
我需要更新逻辑以执行重定向,然后我将需要一个基于?render=xml
对url
的位置的子字符串。
这是我的子字符串代码:
$pos = index($uri,"?render=xml");
$newuri = substr($uri,0,$pos);
我对perl很新,所以我只是在寻找一些帮助
答案 0 :(得分:0)
首先,您尚未终止搜索模式。
my $uri=$ENV{'REQUEST_URI'};
if ($uri=~/\/\?render=xml/){
redirect(301,"Moved Permanently","urlsubstring");
}
但您可以直接搜索并替换。 试试这个。
$uri = "http://www.something.com/about/?render=xml";
$uri =~ s/\?render\=xml/newurlstring/g;
print $uri
未经测试,但您很可能会将此类内容作为您的代码。
my $uri=$ENV{'REQUEST_URI'};
$uri =~ s/\?render\=xml/newurlstring/g;
将$ uri作为http://www.something.com/about/newurlstring
返回或者你只想转储?render = xml部分,只使用$ uri作为http://www.something.com/about/
my $uri=$ENV{'REQUEST_URI'};
$uri =~ s/\?render\=xml//g;