当用户键入查询到不存在的页面并且SSI-include出错时,如何重定向到404或根页面?
或者如何检查服务器上是否存在HTML文档,如果不存在,则也进行重定向?
如果用户在我的网站上键入domain.tld?anyquerystring
,那么它包括SSI的anyquerystring.html
HTML页面。
如果用户像domain.tld?blahblahblah
那样键入不存在页面的查询,则它在SSI include的位置给出[an error occurred while processing this directive]
。
没有办法用php检查它,因为如果一个页面不存在,你的php代码可以如何运行,你需要对.htaccess文件进行更改,因为它会告诉服务器在404 的情况下将用户重定向到定义的页面
RewriteEngine on
ErrorDocument 404 http://www.yoursite.com/404.php
您可以在SSI中配置错误消息。答案是
<!--#config errmsg="Put here your error message, HTML or other code" -->