我已在 xml
中定义了该页面的位置<error-page>
<error-code>404</error-code>
<location>/faces/public/error-page-not-found.xhtml</location>
</error-page>
<error-page>
但我希望网址如下所示:
faces/{variable}/public/error-page-not-found.xhtml
其中变量的值将根据不同的情况而变化
答案 0 :(得分:0)
这个问题有点主观,但一般来说,HTTP错误是由服务器处理的,大部分时间是由服务器上的脚本语言处理的(有时候直接是HTTP服务器软件)。
例如,Apache HTTP Web服务器软件允许重写。所以你可以在 example.com/123 上请求一个页面,尽管没有&#34; 123&#34;归档那里。在将确定您是否有可用于该请求的内容的代码中,您还将确定该请求是否存在资源;如果没有,那么您的服务器脚本代码(PHP,ColdFusion,Perl,ASP.NET等)将需要返回HTTP 404.然后,服务器代码将有一个小片段,您将放入代码的主体,如你上面的代码。
您不需要重定向到错误页面,只需回复HTTP 404响应以及您用来通知访问者没有任何内容的任何XML。 Apache之类的HTTP服务器软件无法真正生成代码(它只能引用或重写某些文件以用于某些请求)。
一般来说,如果您的网站使用数据库,您可以执行以下操作...
我强烈建议您阅读有关Apache重写和PHP的内容,特别是它的$_SERVER
数组(例如<?php print_r($_SERVER);?>
)。您使用Apache重写对文件的所有请求,因此即使他们请求/ 1,/ a,/ about,/ contact /等,它们都会被单个PHP文件处理,您首先要确定所请求的URL是。网上有很多问题可以帮助你真正快速地开始处理所有这些问题,例如:Redirect all traffic to index.php using mod_rewrite。如果您不知道如何设置本地HTTP Web服务器,我强烈建议您查看XAMPP,这是我多年前开始的。祝你好运!