php - 未找到 在此服务器上未找到请求的 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;
}
}
有任何想法吗?
解决方案
恐怕这个 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上的回答
推荐阅读
- sql-server - SSIS FOR LOOP 根据 sql 表中的值结束
- unit-testing - .NET Core 和 NUnit 测试
- java - 写入文件时附加 JSONObjects
- python - 如何使用 SQL Alchemy 和 SQL Alchemy Utils URLType 所以它只保存主机名?
- python - 如果在右侧数据框中未找到左侧数据框的值,如何使用合并在熊猫中执行 VLOOKUP,其中返回 NaN?
- mysql - 为什么每次尝试上传数据库时mysql都会给我错误1136?
- java - 如何使用 Java 进行简单的密码登录
- python - 使用 pandas 将 csv 转换为 json 以在 highcharts highstock 图中绘制两个系列而不是一个系列
- c# - UWP 通知中是否可以有特定的斜体或粗体文本?
- javascript - React-native:未定义不是对象(评估'_this3.props.navigation.navigate')