在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
指令来解决吗?
您可以将此规则作为根目录中的第一条规则。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
不会受到影响。