未找到请求的 URL /en/ 在此服务器上未找到
Not Found The requested URL /en/ was not found on this server
我下载了一个在 PHP 中构建的网站实例。我想用 MAMP 来管理它。
当我转到本地主机尝试访问该站点时,我得到:
Not Found The requested URL /en/ was not found on this server.
在 site/folder 结构中有一个 rootfile.php
指向 config.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;
}
}
有什么想法吗?
恐怕这个 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's answer at https://serverfault.com/a/188411/443858
我下载了一个在 PHP 中构建的网站实例。我想用 MAMP 来管理它。
当我转到本地主机尝试访问该站点时,我得到:
Not Found The requested URL /en/ was not found on this server.
在 site/folder 结构中有一个 rootfile.php
指向 config.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;
}
}
有什么想法吗?
恐怕这个 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's answer at https://serverfault.com/a/188411/443858