处理 PHP 中的异常
Handle exception in PHP
寻求一点帮助,我在 wamp 上设置了一个基本的 php 索引页。
可以通过在浏览器中导航到 localhost/test/ 来访问。
然而,当导航到 url 时,如果我附加一个“'”,它 returns 正在使用的 apache 版本和用于通信的端口,这在错误的人手中可能是危险的.
你能告诉我有没有一种快速的方法来处理 php 中任何未解决的 url 到 return 消息 "Incorrect URL entered"?
我对此很陌生,如有任何帮助,我们将不胜感激。
密码是:
<?php include "config.php"; ?>
我曾尝试使用谷歌搜索,但由于不熟悉术语,这几乎是不可能的。
谢谢韦恩
有两种(主要)方法可以做到这一点:
选项 1 - 将所有流量路由到特定页面
首先,您可以将所有流量路由到一个页面并处理其中的错误。您可以通过在 .htaccess
文件中添加通用 RewriteRule
来实现。示例:
RewriteRule .* index.php
您的 index.php
然后必须处理合法和不正确的 URL。
选项 2 - 使用自定义错误处理程序页面
创建一个文档来处理 404。示例:
<?php
echo "Sorry, that page wasn't found";
使用此规则将该文档设置为 .htaccess
中的 404 处理程序:
ErrorDocument 404 /errors/404.php
(其中 404.php 是您刚刚创建的文档的名称。)
选项 2 更简单,但在更复杂的应用程序中通常需要选项 1。
尝试将不同的页面放入文件中,然后设置 "router" 检查所需的 URL 并呈现适当的页面。像这样:
// index.php
function goToURL ($url) {
// render the page at $url
include ($url);
}
$routed = false;
$url = $_SERVER ['SCRIPT_URL'];
$routes = array (
'/foo' => 'SomePage.php',
'/bar' => 'OtherPage.php'
);
foreach ($routes as $k => $v) {
if (strpos ($url, $k) !== false) {
goToURL ($v);
$routed = true;
}
}
// if no specific url matches then just send them to the home page
if (!$routed) {
goToURL ('Home.php');
}
寻求一点帮助,我在 wamp 上设置了一个基本的 php 索引页。
可以通过在浏览器中导航到 localhost/test/ 来访问。
然而,当导航到 url 时,如果我附加一个“'”,它 returns 正在使用的 apache 版本和用于通信的端口,这在错误的人手中可能是危险的.
你能告诉我有没有一种快速的方法来处理 php 中任何未解决的 url 到 return 消息 "Incorrect URL entered"?
我对此很陌生,如有任何帮助,我们将不胜感激。
密码是:
<?php include "config.php"; ?>
我曾尝试使用谷歌搜索,但由于不熟悉术语,这几乎是不可能的。
谢谢韦恩
有两种(主要)方法可以做到这一点:
选项 1 - 将所有流量路由到特定页面
首先,您可以将所有流量路由到一个页面并处理其中的错误。您可以通过在 .htaccess
文件中添加通用 RewriteRule
来实现。示例:
RewriteRule .* index.php
您的 index.php
然后必须处理合法和不正确的 URL。
选项 2 - 使用自定义错误处理程序页面
创建一个文档来处理 404。示例:
<?php
echo "Sorry, that page wasn't found";
使用此规则将该文档设置为 .htaccess
中的 404 处理程序:
ErrorDocument 404 /errors/404.php
(其中 404.php 是您刚刚创建的文档的名称。)
选项 2 更简单,但在更复杂的应用程序中通常需要选项 1。
尝试将不同的页面放入文件中,然后设置 "router" 检查所需的 URL 并呈现适当的页面。像这样:
// index.php
function goToURL ($url) {
// render the page at $url
include ($url);
}
$routed = false;
$url = $_SERVER ['SCRIPT_URL'];
$routes = array (
'/foo' => 'SomePage.php',
'/bar' => 'OtherPage.php'
);
foreach ($routes as $k => $v) {
if (strpos ($url, $k) !== false) {
goToURL ($v);
$routed = true;
}
}
// if no specific url matches then just send them to the home page
if (!$routed) {
goToURL ('Home.php');
}