【发布时间】:2016-06-08 10:27:00
【问题描述】:
我的 Web 服务器中的一些文件正在返回 Error 520: Web server is returning an unknown error。据我所知,返回错误的文件是index.php和google0f3d9b***.html(用于验证谷歌站长控制台)。
以下是我的.htaccess 文件:
RewriteBase /
# Force non-www version
RewriteCond %{HTTP_HOST} ^www\.yikjin\.ga [NC]
RewriteRule ^(.*)$ https://yikjin.ga/$1 [L,R=301]
# Prevent 000webhost ads from poping up
php_value auto_append_file none
# Prevent directory listing
Options -Indexes
# Make index.php default
DirectoryIndex index.php
还有我的index.php:
<!DOCTYPE html>
<html>
<head>
<!-- ... -->
</head>
<body>
<header>
<img src="/drawable/images/me.jpg" width="6%" alt="That's us!" title="That's us!">
<span>Welcome to Cards!</span>
</header>
<div id="login">
<img src="/drawable/images/cards.jpg" alt width="40%" height="auto">
<h2 id="welcome">Welcome back,<br/>
<span id="user">user</span>
</h2>
<h4>Please re-enter your password</h4>
<form method="post">
<label for="userid">Username</label>
<br/>
<input type="text" title="What's your username?
eg. johntan" id="userid" name="userid" required>
<br/>
<span id="user-err"></span>
<br/>
<label for="pass">Password</label>
<br/>
<input type="password" title="What's your password?
eg. *****" id="pass" name="pass" required>
<br/>
<span id="pass-err"></span>
<br/>
<input type="button" value="‹ Back" onclick="javascript:window.history.back();">
<input type="submit" value="Continue ›" name="login">
<a href="#" target="_blank">Not you?</a>
</form>
<br/>
<a href="/register.php">Register now</a>
</div>
<link href="/drawable/css/design.css" type="text/css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300" type="text/css" rel="stylesheet">
<!-- Begin Cookie Consent -->
<script type="text/javascript">
window.cookieconsent_options = {"message":"We love cookies. So we use them. :D","dismiss":"Got it!","learnMore":"Whyyy...","link":null,"theme":"dark-bottom"};
</script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/1.0.9/cookieconsent.min.js"></script>
</body>
</html>
<?php
include("/drawable/connect.php"); /* $dbcon is from this file */
if (isset($_POST['login'])) {
$userid = $_POST['userid'];
$pass = $_POST['pass'];
$check_user = "SELECT * FROM login WHERE userid = '$userid' AND password = '$pass'";
$user_query = mysqli_query($dbcon, $check_user);
if (mysqli_num_rows($user_query)) {
$_SESSION['user'] = $userid;
header("Location: welcome.php");
}
else {
echo "<script>alert('Invalid credentials supplied; please retry');</script>";
}
}
?>
我认为这是我的 .htaccess 文件的问题,但我似乎无法弄清楚是什么。我使用 000webhost 作为我的网络服务器和 Cloudflare。我的网站的链接是yikjin.ga。我可以知道是什么导致网站无法正常工作吗?提前致谢!
【问题讨论】:
-
首先,我没有看到这个错误。我只在底部看到
file.include错误。其次,该错误来自 CloudFlare。最好在开发时关闭 CloudFlare,如果您遇到 PHP 错误,我假设您会这样做……此外,您对$check_user的查询容易受到 MySQL 注入攻击。最好使用 PDO 而不是mysqli。 -
file.include错误是因为我还没有完成 Web 应用程序的开发。可能是我的互联网连接导致有时我看到Error 522在Error 520出现之前出现一瞬间。 images 在我的 Chrome 浏览器中加载良好。 -
这意味着 Cloudflare 在访问域时遇到问题,并且连接超时。如前所述,开发时先关闭 CloudFlare。然后在完成后重新打开它,您可以从那里解决 CloudFlare 错误。另一件需要注意的是,免费的网络托管会带来服务器正常运行时间的成本,这不像付费托管那样可靠。我建议您切换到付费套餐,并在那里使用 CloudFlare。
标签: php .htaccess http-error