2010-10-12 34 views
1

在我的主頁,在導航鏈接如下:的mod_rewrite搞亂了網站導航鏈接

  • 本地主機/存貨/加
  • 本地主機/存貨/視圖

的代碼這些都是:

<a href='add'>Add Record</a> 
<a href='view'>View Records</a> 

和我的.htaccess文件是:

RewriteEngine on 
RewriteRule ^([^/\.]+)/?$ ./index.php?url=$1 [L] 
RewriteRule ^([^/\.]+)/?/([^/\.]+)/?$ ./index.php?url=$1&id=$2 [L] 

我遇到的問題是,對於記錄,有可能將他們帶到一個編輯鏈接:

  • 本地主機/存貨/編輯/ 1

對於唱片之一,並且該鏈接的代碼是:

<a href='edit/1'>Edit</a> 

這很好,除了現在的導航鏈接帶他們到:

  • 本地主機/存貨/編輯/添加
  • 本地主機/存貨/編輯/查看

因爲它認爲這是在 '編輯' 目錄。

有誰知道一個想法來克服這個問題?

謝謝!

回答

0

這可能不是因爲.htaccess,而是相對與絕對鏈接的區別。也就是說你的導航鏈接可能應該有/前綴,如:

<a href='/inventory/add'>Add Record</a> 
+0

感謝您迴應賈森,把/使得相對於服務器根目錄的鏈接。我想我可以有一個配置文件和腳本運行的任何子目錄需要分配,但我希望避免這種情況。 – 2010-10-12 22:26:23

+0

對不起。這是網址101.如果鏈接只是「添加」,它總是相對於當前目錄。我認爲創建一個可以解決這個問題的重寫規則並不會有太大的好處。 – 2010-10-12 22:39:23

+0

好的,謝謝,這不是我希望的答案,但它的答案令我不幸意料中的。 – 2010-10-12 23:05:26