首页 > 解决方案 > 未找到 在此服务器上未找到请求的 URL /en/

问题描述

我下载了一个用 PHP 构建的网站实例。我想用 MAMP 来管理它。

当我去 localhost 尝试访问我得到的站点时:

Not Found The requested URL /en/ was not found on this server.

在站点/文件夹结构中,有一个rootfile.php指向config.php我认为根据环境路由站点的。

配置文件

<?php

    // error_reporting(E_ALL);
    // ini_set("display_errors", 1);

    session_start();

    $validLanguages = array('EN'=>'en','DE'=>'de'/*,'RU'=>'ru','PT'=>'pt','HU'=>'hu','NL'=>'nl'*/);

    switch ($_SERVER['SERVER_NAME'])
    {
            case'127.0.0.1':
            {
            error_reporting(E_ALL);
            ini_set("display_errors", 1);

            if(substr($_SERVER['HTTP_HOST'],0,7)!='http://')
            {
                $_SERVER['HTTP_HOST']='http://'.$_SERVER['HTTP_HOST'];
            }

            define('ROOT_PATH',  '/Users/antonio-pavicevac-ortiz/Dropbox/developer_folder/__work__/fragrances.christinaaguilera.dev/');
            define('TEMPLATE_PATH', ROOT_PATH.'templates/');
            define('XML_PATH',    ROOT_PATH.'xml/');
            define('ROOT_URL',    $_SERVER['HTTP_HOST'].'/fragrances.christinaaguilera.dev/');
            define('MEDIA_ROOT_URL','http://127.0.0.1/Users/antonio-pavicevac-ortiz/Dropbox/developer_folder/__work__/fragrances.christinaaguilera.dev/');
            define('CSS_ROOT_URL',  ROOT_URL.'css/');
            define('JS_ROOT_URL',   ROOT_URL.'js/');
            define('IMG_ROOT_URL',  ROOT_URL.'images/');

            break;
        }

        case'192.168.0.206':
        {
            error_reporting(E_ALL);
            ini_set("display_errors", 1);

            if(substr($_SERVER['HTTP_HOST'],0,7)!='http://')
            {
                $_SERVER['HTTP_HOST']='http://'.$_SERVER['HTTP_HOST'];
            }

            define('ROOT_PATH',  '/media/sf_public_html/aguilera-microsite/branches/20141007_responsive/');
            define('TEMPLATE_PATH', ROOT_PATH.'templates/');
            define('XML_PATH',    ROOT_PATH.'xml/');
            define('ROOT_URL',    $_SERVER['HTTP_HOST'].'/aguilera-microsite/branches/20141007_responsive/');
            define('MEDIA_ROOT_URL','http://192.168.0.206/aguilera-microsite/branches/20141007_responsive/');
            define('CSS_ROOT_URL',  ROOT_URL.'css/');
            define('JS_ROOT_URL',   ROOT_URL.'js/');
            define('IMG_ROOT_URL',  ROOT_URL.'images/');

            break;
        }

    case'137.183.87.135':
        {
            error_reporting(E_ALL);
            ini_set("display_errors", 1);

            if(substr($_SERVER['HTTP_HOST'],0,7)!='http://')
            {
                $_SERVER['HTTP_HOST']='http://'.$_SERVER['HTTP_HOST'];
            }

            define('ROOT_PATH',  '/content/aguilera/docs/responsive/');
            define('TEMPLATE_PATH', ROOT_PATH.'templates/');
            define('XML_PATH',    ROOT_PATH.'xml/');
            define('ROOT_URL',    $_SERVER['HTTP_HOST'].'/responsive/');
            define('MEDIA_ROOT_URL','http://137.183.87.135:4064/content/aguilera/docs/responsive/');
            define('CSS_ROOT_URL',  ROOT_URL.'css/');
            define('JS_ROOT_URL',   ROOT_URL.'js/');
            define('IMG_ROOT_URL',  ROOT_URL.'images/');

            break;
        }

    case'137.183.87.139':
        {
            // error_reporting(E_ALL);
            // ini_set("display_errors", 1);

            if(substr($_SERVER['HTTP_HOST'],0,7)!='http://')
            {
                $_SERVER['HTTP_HOST']='http://'.$_SERVER['HTTP_HOST'];
            }

            define('ROOT_PATH',  '/content/aguilera/docs/restage/');
            define('TEMPLATE_PATH', ROOT_PATH.'templates/');
            define('XML_PATH',    ROOT_PATH.'xml/');
            define('ROOT_URL',    $_SERVER['HTTP_HOST'].'/restage/');
            define('MEDIA_ROOT_URL','http://137.183.87.139:4064/restage/');
            define('CSS_ROOT_URL',  MEDIA_ROOT_URL.'css/');
            define('JS_ROOT_URL',   MEDIA_ROOT_URL.'js/');
            define('IMG_ROOT_URL',  MEDIA_ROOT_URL.'images/');

            break;
        }

    case'137.183.87.140':
        {
            // error_reporting(E_ALL);
            // ini_set("display_errors", 1);

            if(substr($_SERVER['HTTP_HOST'],0,7)!='http://')
            {
                $_SERVER['HTTP_HOST']='http://'.$_SERVER['HTTP_HOST'];
            }

            define('ROOT_PATH',  '/content/aguilera/docs/restage/');
            define('TEMPLATE_PATH', ROOT_PATH.'templates/');
            define('XML_PATH',    ROOT_PATH.'xml/');
            define('ROOT_URL',    $_SERVER['HTTP_HOST'].'/restage/');
            define('MEDIA_ROOT_URL','http://137.183.87.140:4064/restage/');
            define('CSS_ROOT_URL',  MEDIA_ROOT_URL.'css/');
            define('JS_ROOT_URL',   MEDIA_ROOT_URL.'js/');
            define('IMG_ROOT_URL',  MEDIA_ROOT_URL.'images/');

            break;
        }

    default:
        {
           // error_reporting(E_ALL);
           // ini_set("display_errors", 1);

            if(substr($_SERVER['HTTP_HOST'],0,7)!='http://')
            {
                $_SERVER['HTTP_HOST']='http://'.$_SERVER['HTTP_HOST'];
            }

            if(!preg_match('~elizabetharden~',$_SERVER['HTTP_HOST'])){
                // PROD instance root path
                define('ROOT_PATH',  'D:/Sites/wwwroot/fragrances.christinaaguilera.com/content/aguilera/docs/restage/');
            } else {
                // DEV instance root path
                define('ROOT_PATH',  'D:/Sites/wwwroot/christinaaguilera.elizabetharden.net/content/aguilera/docs/restage/');
            }

            define('TEMPLATE_PATH', ROOT_PATH.'templates/');
            define('XML_PATH',    ROOT_PATH.'xml/');
            define('ROOT_URL',    $_SERVER['HTTP_HOST'].'/');

            if(isset($_SERVER["HTTP_SSL"])){
                // define('MEDIA_ROOT_URL','https://secure.footprint.net/perfumes-christinaaguilera-com/restage/v_23/');
            } else {
                // define('MEDIA_ROOT_URL','http://media.perfumes.christinaaguilera.com/restage/v_23/');
            }

            define('MEDIA_ROOT_URL','/');

            define('CSS_ROOT_URL',  MEDIA_ROOT_URL.'css/');
            define('JS_ROOT_URL',   MEDIA_ROOT_URL.'js/');
            define('IMG_ROOT_URL',  MEDIA_ROOT_URL.'images/');

             break;
        }

    }

有任何想法吗?

标签: phplocalhostmamp

解决方案


恐怕这个 config.php 文件没有重定向,也没有给出任何关于应用程序如何处理路由以及导致错误的原因的提示。它仅定义了某些常量,这些常量似乎用作此文件处理的应用程序的配置(针对不同的环境)。

如果我不得不猜测,我会说你没有正确配置你的虚拟主机。错误消息指的是 /en/ URL。看起来该消息来自您的网络服务器,而不是您的 PHP 应用程序。由于 URL 没有提及特定文件(以 .html 或 .php 结尾),我猜想该应用程序会将所有请求路由到单个入口点。这可能是您提到的 rootfile.php 或更常见的文件,如 public/index.php。但是,如果您的虚拟主机设置不正确,任何重定向到 /en/ URL 都会使网络服务器实际查找 /en 目录。

在网上看,我发现 MAMP 将其 vhost 配置存储在 Applications/MAMP/conf/apache/httpd.conf 中。在那里,您需要确保所有内容都被重定向到您的应用程序具有的任何入口点。请参阅Prix在https://serverfault.com/a/188411/443858上的回答


推荐阅读