Php中的动态链接在站点迁移后不起作用

时间:2011-01-21 01:32:52

标签: php mysql content-management-system migration

我最近将自定义CMS迁移到了新服务器,但就我而言,我无法理解链接不再有效的原因。

我已经研究了一些重写规则,无论选择哪个菜单项,它都保留了相同的主页,因此我认为这只是进行正确配置的问题。

不幸的是,原始主机服务器上没有原始的.htaccess文件供我检查配置,而且该网站似乎甚至不需要一个正确运行所以现在我在我的智慧结束 - 任何帮助都将是非常感谢!

以下是其中一个菜单项的示例代码:

<div class="menu-membership<?=(($p)=="membership" ? "n" : "") ?>"><?=(($p)!="membership" ? "<a href=\"/membership/\"><img src=\"/images/menu/m-membership-grey.gif\" /></a>" : "<img src=\"/images/menu/m-membership-red.gif\" />") ?>
        <?php if(($p)=="membership") { ?><ul class="submenu">
        <li><a href="/membership/how-to-join/">How to Join</a></li>
        <li><a href="/membership/faq/">FAQ</a></li>
        <li><a href="/application/">Apply Now</a></li></ul>
        <?php } ?>
        </div>

可读版本:

<div class="menu-membership<?php echo $p == "membership" ? "n" : ""; ?>">
    <?php if ($p != "membership") : ?>
        <a href="/membership/"><img src="/images/menu/m-membership-grey.gif" /></a>
    <?php else : ?>
        <img src="/images/menu/m-membership-red.gif" />
    <?php endif; ?>
    <?php if ($p == "membership") : ?>
        <ul class="submenu">
            <li><a href="/membership/how-to-join/">How to Join</a></li>
            <li><a href="/membership/faq/">FAQ</a></li>
            <li><a href="/application/">Apply Now</a></li>
        </ul>
    <?php endif; ?>
</div>

1 个答案:

答案 0 :(得分:0)

所以看起来实际上没有/membership/index.php文件,你只是使用“干净网址”重写方法将/index.php?n=membership这样的网址更改为“平面”网址样式?

另外,您的旧服务器是否托管了多个站点?如果是这样,你的apache重写规则可能在vhosts文件而不是httpd.conf中。那个或者有.htaccess文件,你没有看到它们,因为Mac隐藏所有以。(点)开头的文件,您可以通过使用终端更改Finder设置来查看(但是在查看Mac远程服务器时仍然无法通过FTP查看它们)

ErrorDocument 404的目标网址或输出消息是什么?

  

此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误

表示您有自定义错误文档页面或无法正常工作的消息