2011-01-21 46 views
2

我最近將一個自定義的CMS遷移到一臺新的服務器上,對於我的生活我無法弄清楚爲什麼鏈接不再工作。PhP中的Dymanic鏈接在網站遷移後不起作用

我已經研究了一些重寫規則,它們在最多保留相同的主頁時不管選擇哪個菜單項,所以我認爲這只是做正確配置的問題。

不幸的是,原始的主機服務器沒有原始的.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> 
+0

請發佈完整的鏈接代碼 – jschorr 2011-01-21 01:42:49

回答

0

所以看起來沒有實際上是一個/membership/index.php文件,你只是使用「乾淨的網址」重寫方法來改變像/index.php?n=membership這樣的網址爲「扁平」的網址樣式?

另外,你的舊服務器主機多個網站?如果是這樣,你的Apache重寫規則可能在vhosts文件中,而不是httpd.conf。這個或者那裏有.htaccess文件,你沒有看到它們,因爲Mac隱藏了所有以。(點)開頭的文件,你可以通過使用終端改變Finder設置來查看(但是當你看到你的Mac遠程服務器時,你仍然無法通過FTP看到它們)

另外什麼是ErrorDocument 404的目標網址或輸出消息?

此外,遇到一個404 Not Found錯誤,而試圖使用ErrorDocument來處理請求

意味着你已經有了一個自定義錯誤文檔頁面或消息心不是正常工作