如果用户在页面名称之后输入尾随“/”(或“/”之后的任何内容),我如何将用户重定向到错误 404 页面?
Posted
技术标签:
【中文标题】如果用户在页面名称之后输入尾随“/”(或“/”之后的任何内容),我如何将用户重定向到错误 404 页面?【英文标题】:How do I redirect users to an error 404 page if they enter a trailing "/" (or anything after a "/"), after the page name? 【发布时间】:2014-11-17 18:59:41 【问题描述】:在 Apache/Linux 服务器上,如果用户在页面名称后输入尾随“/”(或“/”后的任何内容),我如何将用户重定向到错误 404 页面?
例如,此 URL 应指向错误页面:
http://www.example.com/contactus.php/someextrastuffhere
然而,这个 URL 不应该:
http://www.example.com/contactus.php?name=john+smith&email=johnsmith@webpage.com
但是,后一个 URL 破坏了我的网站。
这可以通过简单的.htaccess
指令解决吗?
【问题讨论】:
我猜你已经为此设置了某种过滤器。是 php,.htaccess.. 吗?另外,将其包含在您的问题描述中,以便我们检查;) 【参考方案1】:您可以将此规则作为您的根 .htaccess 中的第一条规则:
RewriteRule ^.+?\.(php|html?)/ - [L,R=404,NC]
这会将任何 /file.php/foo
请求发送到 404,而 http://www.example.com/contactus.php?name=john+smith&email=johnsmith@webpage.com
不会受到影响。
【讨论】:
绝对是@arco444,我打错了。谢谢! 看起来这只适用于 .php 页面,不包括 .html、.htm。我对吗?如何修改它以包括后者。以上是关于如果用户在页面名称之后输入尾随“/”(或“/”之后的任何内容),我如何将用户重定向到错误 404 页面?的主要内容,如果未能解决你的问题,请参考以下文章
vue如何在组件挂载完成之后在监听data中对象或属性的变化