2013-01-31 74 views
0

不知道這是可能的,但想知道如果htaccess具有完美的一招......我可以在htaccess中修改錨標籤h​​ref嗎?

說我有這樣的錨標記的href -

<a href="http://example.com/index.php?id=12345">Click here</a> 

我已經改變使用mod_rewrite的URL結構,但希望知道我是否可以使用htaccess在href中隱藏實際的URL。

即,當用戶將鼠標懸停在錨標籤上時,瀏覽器在底部顯示http://example.com/index.php?id=12345。我希望瀏覽器顯示的是http://example.com/index/12345,而不是在我的所有頁面上手動更改它。

感謝您的幫助!

+0

不,我不認爲'htaccess'可以做那麼多。如果您不想手動執行此操作,則可以在所有頁面上使用小型JS函數。 – hjpotter92

+0

我不這麼認爲,如果/index.php?id=12345實際上是在HTML中。如果您的HTML腳本生成的PHP?這你可以在那裏做一個小的改變。或者如果是手工編碼,諸如edit plus之類的文本編輯器可能能夠執行全局搜索並使用宏進行替換? – KevInSol

+1

不,但這可以很容易地通過一個簡單的命令行'sed'來解決。 –

回答

0

我同意,htaccess不能幫你。我想你必須手動改變它們。 我希望我能有更多的幫助

1

爲什麼你不改變鏈接到以下?

<a href="http://example.com/index/12345">Click here</a> 

正如你可以改變.htaccess我希望你擁有或管理這個域。所以它應該是可能的。

如果鏈接是由PHP代碼生成的,那麼我建議你來實現,並使用翻譯功能,如:

function beautify($ugly) { 
    // your logic comes here 
    return $nice; // ;) 
} 

...和它環繞當前輸出的URL現有的代碼。這有兩個好處:

  • 這很容易和更加故障安全遷移到新的URL方案
  • 從現在起,您可以用一個函數
+0

可行的技術! – Yesh

0

號擁有對所有URL相關的代碼控制htaccess用於處理對Web服務器的輸入,而不是從服務器發回的數據。

如果你使用jQuery,你可以使用類似這樣的東西來重寫頁面加載時的href。

$(function(){ 
    $("a").each(function() { 
     this.href = 'some_new_url that you made based on the one in this.href'; 
    }); 
}); 
相關問題