Double slash in URL is automatically converted in single slash in $_SERVER['REQUEST_URI']Endless Redirect Loop with AWS ELB and wordpress site using wordpress https pluginNginx: Disallow index.html in URLWhy is Nginx accepting any URL value after the root domain?Match … character in rewrite rule with nginxJoomla “pretty urls” with nginx allow index.php/pretty/url as well as index.phppretty/url (notice the absence of slash)Nginx adds slash before PHP file argument504s on Elastic Beanstalk app deploy (user -> ELB -> Elastic Beanstalk mod_wsgi)Elb healthcheck fails for HttpsTroubleshooting ec2 instance with apache2 installed that times out with no errors being loggedMultiple certs on an ELB listener. Nagios monitoring only checks the default one, regardless of host name
Using column size much larger than necessary
String won't reverse using reverse_copy
Randomness of Python's random
Building a list of products from the elements in another list
Why wasn't the Night King naked in S08E03?
What is the most remote airport from the center of the city it supposedly serves?
Will 700 more planes a day fly because of the Heathrow expansion?
Which module had more 'comfort' in terms of living space, the Lunar Module or the Command module?
Does a card have a keyword if it has the same effect as said keyword?
I'm in your subnets, golfing your code
If stationary points and minima are equivalent, then the function is convex?
Have I damaged my car by attempting to reverse with hand/park brake up?
BOOM! Perfect Clear for Mr. T
What was the first instance of a "planet eater" in sci-fi?
What is the closest airport to the center of the city it serves?
How I can I roll a number of non-digital dice to get a random number between 1 and 150?
Is there an idiom that support the idea that "inflation is bad"?
If your medical expenses exceed your income does the IRS pay you?
How should I tell my manager I'm not paying for an optional after work event I'm not going to?
Out of scope work duties and resignation
Why is [person X] visibly scared in the library in Game of Thrones S8E3?
Position of past participle and extent of the Verbklammer
What are the differences between credential stuffing and password spraying?
Are there any Final Fantasy Spirits in Super Smash Bros Ultimate?
Double slash in URL is automatically converted in single slash in $_SERVER['REQUEST_URI']
Endless Redirect Loop with AWS ELB and wordpress site using wordpress https pluginNginx: Disallow index.html in URLWhy is Nginx accepting any URL value after the root domain?Match … character in rewrite rule with nginxJoomla “pretty urls” with nginx allow index.php/pretty/url as well as index.phppretty/url (notice the absence of slash)Nginx adds slash before PHP file argument504s on Elastic Beanstalk app deploy (user -> ELB -> Elastic Beanstalk mod_wsgi)Elb healthcheck fails for HttpsTroubleshooting ec2 instance with apache2 installed that times out with no errors being loggedMultiple certs on an ELB listener. Nagios monitoring only checks the default one, regardless of host name
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I am working on one site where I need to show 404 pages when someone adds double slash in URL.
I have written logic to check REQUEST_URI and if there is double slash then I am showing 404 pages...
But when I add double slash in URL it shows single slash in REQUEST_URI but in URL, it is double slash...
here I attached a screenshot for the same issue.
For Example: if i enter www.example.com//check -> then its is coming
as /check in REQUEST_URI but i want it should come as //check
Site is hosted in AWS cloud load balancer (ELB). in local setting its
working proeper but in production its creating issue.
Can someone help me how can I prevent this?
nginx amazon-web-services amazon-elb
add a comment |
I am working on one site where I need to show 404 pages when someone adds double slash in URL.
I have written logic to check REQUEST_URI and if there is double slash then I am showing 404 pages...
But when I add double slash in URL it shows single slash in REQUEST_URI but in URL, it is double slash...
here I attached a screenshot for the same issue.
For Example: if i enter www.example.com//check -> then its is coming
as /check in REQUEST_URI but i want it should come as //check
Site is hosted in AWS cloud load balancer (ELB). in local setting its
working proeper but in production its creating issue.
Can someone help me how can I prevent this?
nginx amazon-web-services amazon-elb
1
It's standard normalization of the path, why would you want this (and not use some other method to solve whatever problem you're trying to fix)?
– wurtel
Apr 24 at 11:32
how can I prevent this normalization? @wurtel
– joy
Apr 24 at 11:33
problem is in google crawler its showing same page as duplicate content so we need to show 404 pages whenever double slash comes in url @wurtel
– joy
Apr 24 at 11:34
Have you considered that it might be your Amazon Load Balancer?
– Michael Hampton♦
Apr 24 at 13:03
add a comment |
I am working on one site where I need to show 404 pages when someone adds double slash in URL.
I have written logic to check REQUEST_URI and if there is double slash then I am showing 404 pages...
But when I add double slash in URL it shows single slash in REQUEST_URI but in URL, it is double slash...
here I attached a screenshot for the same issue.
For Example: if i enter www.example.com//check -> then its is coming
as /check in REQUEST_URI but i want it should come as //check
Site is hosted in AWS cloud load balancer (ELB). in local setting its
working proeper but in production its creating issue.
Can someone help me how can I prevent this?
nginx amazon-web-services amazon-elb
I am working on one site where I need to show 404 pages when someone adds double slash in URL.
I have written logic to check REQUEST_URI and if there is double slash then I am showing 404 pages...
But when I add double slash in URL it shows single slash in REQUEST_URI but in URL, it is double slash...
here I attached a screenshot for the same issue.
For Example: if i enter www.example.com//check -> then its is coming
as /check in REQUEST_URI but i want it should come as //check
Site is hosted in AWS cloud load balancer (ELB). in local setting its
working proeper but in production its creating issue.
Can someone help me how can I prevent this?
nginx amazon-web-services amazon-elb
nginx amazon-web-services amazon-elb
asked Apr 24 at 11:25
joyjoy
1011
1011
1
It's standard normalization of the path, why would you want this (and not use some other method to solve whatever problem you're trying to fix)?
– wurtel
Apr 24 at 11:32
how can I prevent this normalization? @wurtel
– joy
Apr 24 at 11:33
problem is in google crawler its showing same page as duplicate content so we need to show 404 pages whenever double slash comes in url @wurtel
– joy
Apr 24 at 11:34
Have you considered that it might be your Amazon Load Balancer?
– Michael Hampton♦
Apr 24 at 13:03
add a comment |
1
It's standard normalization of the path, why would you want this (and not use some other method to solve whatever problem you're trying to fix)?
– wurtel
Apr 24 at 11:32
how can I prevent this normalization? @wurtel
– joy
Apr 24 at 11:33
problem is in google crawler its showing same page as duplicate content so we need to show 404 pages whenever double slash comes in url @wurtel
– joy
Apr 24 at 11:34
Have you considered that it might be your Amazon Load Balancer?
– Michael Hampton♦
Apr 24 at 13:03
1
1
It's standard normalization of the path, why would you want this (and not use some other method to solve whatever problem you're trying to fix)?
– wurtel
Apr 24 at 11:32
It's standard normalization of the path, why would you want this (and not use some other method to solve whatever problem you're trying to fix)?
– wurtel
Apr 24 at 11:32
how can I prevent this normalization? @wurtel
– joy
Apr 24 at 11:33
how can I prevent this normalization? @wurtel
– joy
Apr 24 at 11:33
problem is in google crawler its showing same page as duplicate content so we need to show 404 pages whenever double slash comes in url @wurtel
– joy
Apr 24 at 11:34
problem is in google crawler its showing same page as duplicate content so we need to show 404 pages whenever double slash comes in url @wurtel
– joy
Apr 24 at 11:34
Have you considered that it might be your Amazon Load Balancer?
– Michael Hampton♦
Apr 24 at 13:03
Have you considered that it might be your Amazon Load Balancer?
– Michael Hampton♦
Apr 24 at 13:03
add a comment |
1 Answer
1
active
oldest
votes
If the problem is that Google has indexed the double slash version as well as the regular path, then it's better to use a redirect to send google to the correct path.
As you tagged this question with nginx, the easiest solution is to use a selective rewrite, such as:
location /
if ($request_uri ~ ^//)
rewrite ^/.* $uri permanent;
[...]
This works because $request_uri
is the original URI, while $uri is the normalized one. The rewrite statement replaces the complete URI with the normalized one, so that Google knows that the double slash version is to be replaced by the normalized one.
I have added same but it is not working too
– joy
Apr 24 at 12:33
i think $request_uri its also coming as single slash
– joy
Apr 24 at 12:34
I have checked in nginx too $request_uri also coming with a single slash so the problem is somewhere else
– joy
Apr 24 at 13:11
i think AWS load balancer is removing double slash .... any idea how can i stop this
– joy
Apr 24 at 13:16
I had tested this first on my own nginx so I know the solution works; I have no idea whether it's possible to change how the AWS load balancer handles this. You could try using google webmaster tools to remove the wrong path.
– wurtel
Apr 24 at 13:29
|
show 2 more comments
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f964390%2fdouble-slash-in-url-is-automatically-converted-in-single-slash-in-serverrequ%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
If the problem is that Google has indexed the double slash version as well as the regular path, then it's better to use a redirect to send google to the correct path.
As you tagged this question with nginx, the easiest solution is to use a selective rewrite, such as:
location /
if ($request_uri ~ ^//)
rewrite ^/.* $uri permanent;
[...]
This works because $request_uri
is the original URI, while $uri is the normalized one. The rewrite statement replaces the complete URI with the normalized one, so that Google knows that the double slash version is to be replaced by the normalized one.
I have added same but it is not working too
– joy
Apr 24 at 12:33
i think $request_uri its also coming as single slash
– joy
Apr 24 at 12:34
I have checked in nginx too $request_uri also coming with a single slash so the problem is somewhere else
– joy
Apr 24 at 13:11
i think AWS load balancer is removing double slash .... any idea how can i stop this
– joy
Apr 24 at 13:16
I had tested this first on my own nginx so I know the solution works; I have no idea whether it's possible to change how the AWS load balancer handles this. You could try using google webmaster tools to remove the wrong path.
– wurtel
Apr 24 at 13:29
|
show 2 more comments
If the problem is that Google has indexed the double slash version as well as the regular path, then it's better to use a redirect to send google to the correct path.
As you tagged this question with nginx, the easiest solution is to use a selective rewrite, such as:
location /
if ($request_uri ~ ^//)
rewrite ^/.* $uri permanent;
[...]
This works because $request_uri
is the original URI, while $uri is the normalized one. The rewrite statement replaces the complete URI with the normalized one, so that Google knows that the double slash version is to be replaced by the normalized one.
I have added same but it is not working too
– joy
Apr 24 at 12:33
i think $request_uri its also coming as single slash
– joy
Apr 24 at 12:34
I have checked in nginx too $request_uri also coming with a single slash so the problem is somewhere else
– joy
Apr 24 at 13:11
i think AWS load balancer is removing double slash .... any idea how can i stop this
– joy
Apr 24 at 13:16
I had tested this first on my own nginx so I know the solution works; I have no idea whether it's possible to change how the AWS load balancer handles this. You could try using google webmaster tools to remove the wrong path.
– wurtel
Apr 24 at 13:29
|
show 2 more comments
If the problem is that Google has indexed the double slash version as well as the regular path, then it's better to use a redirect to send google to the correct path.
As you tagged this question with nginx, the easiest solution is to use a selective rewrite, such as:
location /
if ($request_uri ~ ^//)
rewrite ^/.* $uri permanent;
[...]
This works because $request_uri
is the original URI, while $uri is the normalized one. The rewrite statement replaces the complete URI with the normalized one, so that Google knows that the double slash version is to be replaced by the normalized one.
If the problem is that Google has indexed the double slash version as well as the regular path, then it's better to use a redirect to send google to the correct path.
As you tagged this question with nginx, the easiest solution is to use a selective rewrite, such as:
location /
if ($request_uri ~ ^//)
rewrite ^/.* $uri permanent;
[...]
This works because $request_uri
is the original URI, while $uri is the normalized one. The rewrite statement replaces the complete URI with the normalized one, so that Google knows that the double slash version is to be replaced by the normalized one.
answered Apr 24 at 12:02
wurtelwurtel
3,038512
3,038512
I have added same but it is not working too
– joy
Apr 24 at 12:33
i think $request_uri its also coming as single slash
– joy
Apr 24 at 12:34
I have checked in nginx too $request_uri also coming with a single slash so the problem is somewhere else
– joy
Apr 24 at 13:11
i think AWS load balancer is removing double slash .... any idea how can i stop this
– joy
Apr 24 at 13:16
I had tested this first on my own nginx so I know the solution works; I have no idea whether it's possible to change how the AWS load balancer handles this. You could try using google webmaster tools to remove the wrong path.
– wurtel
Apr 24 at 13:29
|
show 2 more comments
I have added same but it is not working too
– joy
Apr 24 at 12:33
i think $request_uri its also coming as single slash
– joy
Apr 24 at 12:34
I have checked in nginx too $request_uri also coming with a single slash so the problem is somewhere else
– joy
Apr 24 at 13:11
i think AWS load balancer is removing double slash .... any idea how can i stop this
– joy
Apr 24 at 13:16
I had tested this first on my own nginx so I know the solution works; I have no idea whether it's possible to change how the AWS load balancer handles this. You could try using google webmaster tools to remove the wrong path.
– wurtel
Apr 24 at 13:29
I have added same but it is not working too
– joy
Apr 24 at 12:33
I have added same but it is not working too
– joy
Apr 24 at 12:33
i think $request_uri its also coming as single slash
– joy
Apr 24 at 12:34
i think $request_uri its also coming as single slash
– joy
Apr 24 at 12:34
I have checked in nginx too $request_uri also coming with a single slash so the problem is somewhere else
– joy
Apr 24 at 13:11
I have checked in nginx too $request_uri also coming with a single slash so the problem is somewhere else
– joy
Apr 24 at 13:11
i think AWS load balancer is removing double slash .... any idea how can i stop this
– joy
Apr 24 at 13:16
i think AWS load balancer is removing double slash .... any idea how can i stop this
– joy
Apr 24 at 13:16
I had tested this first on my own nginx so I know the solution works; I have no idea whether it's possible to change how the AWS load balancer handles this. You could try using google webmaster tools to remove the wrong path.
– wurtel
Apr 24 at 13:29
I had tested this first on my own nginx so I know the solution works; I have no idea whether it's possible to change how the AWS load balancer handles this. You could try using google webmaster tools to remove the wrong path.
– wurtel
Apr 24 at 13:29
|
show 2 more comments
Thanks for contributing an answer to Server Fault!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f964390%2fdouble-slash-in-url-is-automatically-converted-in-single-slash-in-serverrequ%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
It's standard normalization of the path, why would you want this (and not use some other method to solve whatever problem you're trying to fix)?
– wurtel
Apr 24 at 11:32
how can I prevent this normalization? @wurtel
– joy
Apr 24 at 11:33
problem is in google crawler its showing same page as duplicate content so we need to show 404 pages whenever double slash comes in url @wurtel
– joy
Apr 24 at 11:34
Have you considered that it might be your Amazon Load Balancer?
– Michael Hampton♦
Apr 24 at 13:03