0

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

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

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

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

估计是网站设置问题。也许在 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]
4

2 回答 2

1

这可能是由于

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

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

如果做不到这一点,请查看http://david.steadson.com/2008/12/17/migrating-to-a-new-iis7-install-from-iis6/

于 2013-03-13T04:04:52.473 回答
0

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

只是将 .htaccess 的规则导入网站。

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

感谢大家的帮助。

于 2013-03-13T19:59:40.660 回答