【问题标题】:Dymanic Links in PhP not working after site migration网站迁移后 PhP 中的动态链接不起作用
【发布时间】:2011-06-12 21:05:45
【问题描述】:

我最近将自定义 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>

【问题讨论】:

  • 请贴出完整的链接代码
  • 道歉只需要通过“新手角”来弄清楚为什么我的代码没有被发布..
  • 我多年没有在 PHP 中编写代码,但也许您正在使用旧服务器的 $_SERVER['DOCUMENT_ROOT'] 已在新服务器中更改。
  • 神圣不可读的三元转义 HTML 运算符,蝙蝠侠! O_O
  • 好的,我已经使它更具可读性。现在,请定义“不起作用”。

标签: php mysql content-management-system migration


【解决方案1】:

所以看起来实际上没有 /membership/index.php 文件,您只是使用“干净的 url”重写方法将 /index.php?n=membership 之类的 url 更改为“平面” url风格?

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

还有什么是 ErrorDocument 404 的目标 url 或输出消息?

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

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

【讨论】:

    猜你喜欢
    • 2015-12-22
    • 2015-09-22
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    相关资源
    最近更新 更多