【问题标题】:Default Document默认文档
【发布时间】:2013-03-13 00:40:26
【问题描述】:

好的,我正在尝试将客户端的网站从 1and1 移动到他们拥有的服务器。这是一个PHP网站。我已经移动了所有文件,移动了数据库(包括指向新数据库的文件),并且首页工作正常(包括点击数据库)。

但是,这些链接都不起作用。它们都指向不存在的文件夹。该网站是某种 CMS,可能是 Wordpress,也可能不是。但很明显,链接中的文件夹并不是真正的文件夹,而是程序为了显示正确的内容而键入的东西。

我说 Wordpress 是因为有一个旧的 Wordpress 数据库,但据我所知,没有任何东西可以与之对话。

我可以在数据库中看到一个名为文件夹的表,其中包含所有不存在的文件夹名称。

我猜这是网站设置问题。也许在 PHP.ini 或其他一些配置中。

抱歉,这听起来有点含糊。客户不知道它是什么软件,只知道如何使用它。如果您有任何问题,我可以告诉您更详细的信息,请告诉我。

谢谢

索引.php

<?php
/*
    Lite MVC Implementation

    HTTP requests should be redirected to this file if Apache can't find the page in the filesystem hierarchy.

    EDITING APP PAGES:
    PHP Page logic in /controller/
    HTML rendering in /views/
    Additional PHP classes autoloaded from /model/

    Edit URI path routes (mapping URL to page logic) by editing /application/router.class.php, function getController

    Hosting Requirements for CMS:
        * PHP 5.2.x and later as of February 2010
        * PECL Extension : HTTP (pecl_http) 
        * /protected/uploads should be writable by Apache
*/

    $site_path = realpath(dirname(__FILE__));
    define("__SITE_PATH__", $site_path);

    include("global/init.php");
    $registry->router = new Router($registry);
    $registry->router->setPath(__SITE_PATH__ . "/controller");
    $registry->router->loader();
?>

示例文件夹是“服务”。文件夹表中的记录是:

3   0   Services    services    Manage Services Content 0   2   2   1   0   2   0   2010-02-22 05:50:39 2010-03-09 13:26:13

.htaccess

AddHandler x-mapp-php5 .php
#php_flag session.auto_start "On"
#php_flag display_errors "On"

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /index.php?rt=$1 [L,QSA]

【问题讨论】:

  • 数据库表列表并没有真正的帮助。您能否显示主页 PHP 的 sn-p,包括其中一个不起作用的链接?另外,是的,PHP.ini 文件可能不正确,但也不要忘记 .htaccess 文件。
  • 那些不是 Wordpress 表格。
  • 假设 apache,是否启用了 mod_rewrite / 你能确认所有对不存在文件和目录的请求都被重定向到index.php吗?
  • Windows IIS。除此之外,我无法回答你的问题。我编写网络应用程序,但设置服务器有点超出我的能力。

标签: php content-management-system


【解决方案1】:

可能是因为

realpath
行。旧主机是否是基于 Linux 的主机,可能带有 Apache,而新主机现在是 Windows? realpath 函数可能没有在新主机上返回正确的文件夹结构。

该站点是包含在主机上的 C:\inetpub\www 文件夹中还是在其他位置?如果在其他地方,请尝试将站点移到那里,或者至少移到 c:\inetpub 内的子文件夹中。

如果失败,请查看http://david.steadson.com/2008/12/17/migrating-to-a-new-iis7-install-from-iis6/

【讨论】:

  • 是的,旧站点是 Linux。而且,是的,Windows 机器上的新位置是 C:\inetpub\www\...我明天将尝试使用 realpath。谢谢。
  • 您非常接近 Linux/Windows 问题的答案。你可以看到我发布的答案。谢谢。
【解决方案2】:

好的,找到问题了。或者我应该说,其他人为我找到了它。

刚刚将.htaccess的规则导入网站。

我不知道 IIS 不使用 .htaccess,而是使用 web.config。我现在。

感谢大家的帮助。

【讨论】:

    猜你喜欢
    • 2015-10-14
    • 2011-01-01
    • 1970-01-01
    • 2014-04-22
    • 2016-03-28
    • 2011-06-02
    • 2015-09-14
    • 2015-05-02
    • 2011-07-14
    相关资源
    最近更新 更多