如果用户输入尾随" /"如何将用户重定向到错误404页面? (或#34; /"之后的任何内容),在页面名称之后?

时间:2014-09-23 14:11:05

标签: php apache .htaccess mod-rewrite redirect

在Apache / Linux服务器上,如果用户在页面名称后输入尾随的“/”(或“/”之后的任何内容),如何将用户重定向到错误404页面?

例如,此网址应指向错误页面:

http://www.example.com/contactus.php/someextrastuffhere

然而,此网址不应:

http://www.example.com/contactus.php?name=john+smith&email=johnsmith@webpage.com

但是,后一个网址会破坏我的网站。

这可以通过简单的.htaccess指令来解决吗?

1 个答案:

答案 0 :(得分:3)

您可以将此规则作为根目录中的第一条规则.htaccess:

RewriteRule ^.+?\.(php|html?)/ - [L,R=404,NC]

这会向{404}发送任何/file.php/foo请求,而http://www.example.com/contactus.php?name=john+smith&email=johnsmith@webpage.com不会受到影响。