[英]PHP 404 response and redirect
我知道我可以使用.htaccess来简单地设置404错误页面。
据我了解,如果找不到页面,则会将错误发送回浏览器,并显示404页面。 用户可能会也可能不会意识到此“错误”。
我想做的是允许用户键入page1.php,page2.php,page3.php等,然后转到分别打印page1,page2,page3等的页面。
原因是page1,page2,page3等的逻辑非常相似。我认为将用户发送到同一页面可能会更容易,该页面随后将使用PHP服务器变量来计算要执行的操作:确定是否是否有效页,然后抛出404错误或打印正确的消息。
这可能吗? 还是只是一个愚蠢的想法?
我希望该网址不受影响,并在用户键入时保持不变。
谢谢。
这绝对不是愚蠢的想法。
提供内容的实例是Web服务器,如果找不到内容,则提供错误页面。 如果要使用PHP处理该逻辑,则可以告诉Web服务器将所有请求传递到同一 PHP文件。 然后,您可以使用$_SERVER
变量来确定用户正在请求什么并提供内容,并发送正确的状态代码(例如404
)。
在Apache中,如果您使用的是2.2.16版或更高版本,则可以定义一个备用资源 。 这会将对不存在文件的请求重定向到指定文件。
<Directory /var/www/my_blog>
FallbackResource index.php
</Directory>
在较早的Apache版本中,可以使用mod_rewrite
重定向请求:
<Directory /var/www/my_blog>
RewriteBase /my_blog
RewriteCond /var/www/my_blog/%{REQUEST_FILENAME} !-f
RewriteCond /var/www/my_blog/%{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [PT]
</Directory>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.