2017-02-01 30 views
0

在Apache服務器索引頁面的第一個條目上,我創建了一個水平頭文件,其中包含重新加載主頁的鏈接「Home」。在該頁面上,我有一列鏈接到其他頁面。服務器索引文件的第一個條目上的相對路徑

文件SEQ是:

<?php # Hollywood Controls - MainPage 
$page_title = 'Hollywood Controls'; 
include ('../inc/header.inc.htm'); 
?> 
<?php 
echo "1 ",getcwd() . "<br>"; 
include ('../inc/Categorymenu.inc.htm'); 
?> 

header.inc.htm包括:

<div id="widemenu"> 
    <ul> 
    <li><a href="../php2/MainPage.php">Home</a></li> 
    <li><a href="../php/AirCannons.php">Halloween Products</a></li> 
<!-- 
    <li><a href="../php/Contact.php">Halloween Products</a></li> 
    <li><a href="../php/AirCannons.php">Halloween Products</a></li> 
    <li><a href="../php/Featured.php">Halloween Products</a></li> 
    <li><a href="../php/OrderingInfo.php">Ordering</a></li>  --> 
    <li><a href="../php/AboutUs.php">About Us</a></li> 
    <li><a href="../php/Contact.php">Contact Us</a></li> 
    <li><a href="../php/Privacy.php">Privacy</a></li> 
    </ul> 
    <?php include('../pp_buttons/view_cart.htm');?> 

</div> 

服務器/ new_index.php

<!-- WEB server entry point --> 
<?php 
#echo getcwd(), "\n"; 
$path_parts = pathinfo(getcwd()); 
chdir("php2"); 
#This is really our current home page 
include ('MainPage.php'); 
?> 

MainPage.php開頭

Categorymenu.inc.htm包含:

<?php 
echo "3 ",getcwd() . "<br>"; 
#chdir("..\php2"); 
?> 
<div id="tblmenu"> 
    <table cellspacing="0" cellpadding="0" border="0"> 
     <tbody> 
     <tr> 
     <td align="center" colspan="2">Category</td> 
     </tr> 
     <tr> 
     <td align="center" width="85%"><a href="PubArticles.php">Published Articles</a></td> 
     <td>(1)</td> 
     </tr> 
     <tr> 
     <td align="center" width="85%"><a href="TekScopeBattery.php">Equipment Repair</a></td> 
     <td>(1)</td> 
     </tr><tr> 
     <td align="center" width="85%"><a href="">Tear-downs</a></td> 
     <td>(0)</td> 
     </tr> 
     <tr> 
     <td align="center" width="85%"><a href="Software.php">Software</a></td> 
     <td>(1)</td> 
     </tr> 
     <tr> 
     <td align="center" width="85%"><a href="">PHP Scripts</a></td> 
     <td>(0)</td> 
     </tr> 
     </tbody> 
    </table> 
</div> 

在第一頁負載HREF =「PubArticles.php」指向//server/PubArticles.php(這是不正確,作爲當前目錄爲「PHP2」)。

如果我通過單擊水平頭部中的「Home」按鈕來重新加載主頁,我會得到不同的結果。現在href =「PubArticles.php」指向//server/php2/PubArticles.php(正確!)。

我想我已經從完整的代碼篩選出相關的代碼。回聲getcwd()表明我在第一個條目和後續條目中處於「php2」狀態。

我在這裏錯過了什麼?

您可以在www.hollywoodcontrols.com

回答

0

在行動中看到的問題是,您是通過使用include ('../inc/Categorymenu.inc.htm');MainPage.php輸出表。這包括頁面上的文件,它基本上與相同將該頁面的內容複製到MainPage.php。因此,鏈接相對於MainPage.php而不是Categorymenu.inc.htm

考慮到錶鏈接將被兩個不同目錄中的兩個文件加載,它們將有兩個不同的相對路徑。最好的解決方法是通過添加尾部斜槓使表格鏈接相對於根目錄:

<a href="/php2/PubArticles.php"> 

希望這有助於!

+0

那麼,現在如此明顯,當你指出!我當然感到困惑,一個獨立的觀點都沒有。 TNX。 – kjo

+0

很高興聽到這個答案爲你解決了這個問題。請不要忘記通過點擊表決按鈕下方的灰色檢查標記解決方案是否正確 - 這會將其從「未回答的問題」隊列中移除,併爲問題提問者和問題回答者授予聲譽。當然,在說,你沒有義務標記我的答案(或任何其他答案)是正確的,但它確實有助於保持事情順利進行:) –

相關問題