如何在mac上解决我的localhost问题?

时间:2013-08-06 04:45:12

标签: javascript jquery httpd.conf yeoman

我在Mac上做了一些快速的Ajax实验。 我的script / main.js文件夹中有以下javascript代码。

'use strict';
 var button = document.getElementsByClassName('update');

button[0].addEventListener('click', function() {
    worker.updateCustomer();
});

var worker = {
    updateCustomer: function(customerInfo, cb) {
        $.ajax({
            url: 'data/customer.json',
            type: 'POST',
        }).done(function(data) {
            log('response', data);
        }).fail(function() {
            log('failed');
        });
    }
};

这是我的工作目录结构:

  • 的index.html
  • JS​​ /的jquery.js
  • JS​​ / main.js

每当我点击按钮时,我都会得到以下信息:

POST localhost:9000/data/customer.json 404 (Not Found)
failed

话虽这么说,但有一些事情需要提及:

我曾经做过PHP开发,所以要访问我必须转到Sites/的{​​{1}}文件夹下的项目。

目前在我的计算机上,在浏览器中输入localhost/~username/folder/file.php会返回以下内容:

localhost

我查看了httpd.conf并修改了

Forbidden
You don't have permission to access / on this server.

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

现在得到:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all  #change here
</Directory>

我认为我的问题是因为直接访问我的localhost文件夹而不添加Not Found The requested URL / was not found on this server. 是不可能的。

请告知。

1 个答案:

答案 0 :(得分:1)

下面:

POST localhost:9000/data/customer.json 404 (Not Found)
failed

您应该知道,在使用HTTP请求时,PHP服务器希望获取现有文件并将其传输到客户端(如果此文件具有.php扩展名 - 执行脚本并发送stdout)。此外,PHP允许您通过.htaccess文件配置进行内部重定向。例如:

(1)ErrorDocument 404 /path-to-file(如果在服务器上找不到请求的文件)

(2)ErrorDocument 403 /path-to-file(如果在服务器上找到了请求的文件,但禁止直接访问)

我建议你使用这两种方法。使用以下内容在/ data /上创建.htaccess文件:

deny from all
ErrorDocument 403 /data-manager.php
ErrorDocument 404 /data-manager.php

在顶层目录('public-html')上创建'data-manager.php'。通过php脚本,您可以使用:

<?php
  echo 'Requested url was: ' . $_SERVER['REQUEST_URI'];
 ?>