如果不存在重写映射,则转到404

| 我创建了一个工作良好的重写图: .htaccess
RewriteRule ^([^/\\.]+)/?$ index.php?page=${mymap:$1} [L]
mymap.txt
home 1
about 2
contact 3
因此www.myurl / home可以正常工作,但是www.myurl / nonexistant_page在mymap.txt中不存在,因此出现了SQL错误。有没有一种方法可以检查地图是否存在以及是否无法到达404页面?     
已邀请:
        当映射中的键和值之间没有对应关系时,可以指定默认值。
${mymap:$1|default_value}
然后,可以通过测试名为ѭ4testing的query_string键,使用此默认值在index.php页面中触发
404
调用。 默认情况下,“ 5”是空字符串。这可以解释为什么如果您的index.php页使用空参数进行SQL查询时会出现SQL错误。     
        我不能强调,不先将页面ID放入SQL查询的末尾而不先对其进行清理,这有多么重要。 无论如何,也许用try / catch包围SQL查询,并在捕获到SQL异常的情况下发送404标头。     

要回复问题请先登录注册