繁体   English   中英

本地主机上的 404 错误

[英]404 error on localhost

我正在尝试使用一些 ajax 发送一些电子邮件。 我在使用冷聚变之前已经这样做了,没有问题。

我遇到的是localhost没有找到明确存在于目录中的文件。 事实上,该文件与 index.php 位于同一目录中,这没有问题。 但是它给了我一个在我的 send.php 文件中找不到404 错误文件。 我什至尝试通过地址栏直接转到该页面,但没有找到该文件。 如果我输入文件路径,即 - file:///C://xampp/htdocs/3H-Web-Wlements/send.php 它将显示代码。

但是,当我上传到我的活动服务器时,它没有问题。

我在这里缺少什么?

这是日志中的错误:[Wed Sep 23 19:33:34.295785 2015] [:error] [pid 2552:tid 1752] [client ::1:63670] script 'C:/xampp/htdocs/index.php ' 未找到或无法统计,引用: http://localhost/3H-Web-Wlements/

我是否配置错误或什至未配置?
就像我说的。 它在我的活动服务器上工作,但仅在本地主机上失败。

我的 send.php 代码

<?php
/*
 **************************************
 *                                    *
 * Config here                        *
 *                                    *
 **************************************
 */

$to = 'xxx@gmail.com';
$subject = 'Message from website';
$siteName = "xxx";

/*
 *************************************************************
 *                                                           *
 *      Don't Change below code, if you don't know php.      *
 *                                                           *
 *************************************************************
 */

$name = $_POST['contactName'];
$mail = $_POST['contactEmail'];
$subject = $_POST['contactWebsite'];
$note = $_POST['contactMessage'];
$ipAdd = $_POST['contactIp'];

if (isset($name) && isset($mail) && isset($note)) {


    // $mailSub = '[Contact] [' . $siteName . '] '.$subject;

    $body = 'Sender Name: ' . $name . "\n\n";
    $body .= 'Sender IP: ' . $ipAdd . "\n\n";
    $body .= 'Sender Mail: ' . $mail . "\n\n";
    $body .= 'Website: ' . $subject . "\n\n";
    $body .= 'Message: ' . $note;

    $message = $body;

    $header = 'From: ' . $mail . "\r\n";
    $header .= 'Reply-To:  ' . $mail . "\r\n";
    $header .= 'X-Mailer: PHP/' . phpversion();

    // mail($to, $mailSub, $body, $header);
    mail($to, $subject, $message, $headers);
}else{
    echo '0';
}
?>

根据您提供的错误消息以及您在 localhost 上导航到的 URL 的模糊性,我怀疑您的问题的根本原因源于在您的开发服务器和生产服务器上设置了两个不同的文档根目录。

如果我是对的,这可以通过将您的开发服务器的文档根目录从C://xampp/htdocs/更改为C://xampp/htdocs/3H-Web-Wlements/ 使用此设置,服务器将尝试从3H-Web-Wlements/而不是从htdocs/提供index.php

文档根设置可以在 Apache 的配置文件中设置,通常称为httpd.conf 如果您使用的是 XAMPP 或 MAMP 之类的开发设置,您可能在控制面板中有一个按钮可以访问 httpd.conf。

更改后的设置应如下所示:

DocumentRoot C://xampp/htdocs/3H-Web-Wlements/

进行更改后,您需要重新启动 Web 服务器以使更改生效。

在 php 上发送电子邮件功能在活动服务器上比在 localhost 上测试要好得多,因为 localhost 需要配置以支持电子邮件功能,而活动服务器已经为此设置。 我也经历过。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM