2014-02-14 83 views
1

除去最後的「/」字符我有,我將無法上應用htaccess的,特別是這個網址的情況:從包括hashtag網址

www.site.com/#hash

觸發一個重要js函數。

一些引薦流發送到www.site.com/#hash/ < - 注意尾隨斜線

我需要一個快速解決辦法(PHP將是我的第一選擇,而JS第二),其將從URL中刪除任何最後的'/',同時保留任何類型的散列(例如,/#hash1,#hash2,#otherhash等)不變。

我已經嘗試了幾十件事,到目前爲止我還沒有找到一個好的方法來定位/修改/刪除只有'/',沒有別的。

例如,我敢肯定,這可能是工作:

$url = preg_replace('{/$}', '', $url); 

...但我不知道如何在瀏覽器的地址欄中的實際URL瞄準它。

而且,與JS,例如僞代碼:

if (window.location.hash.CONTAINS == '/') {window.location.hash = ''} 

在這種情況下,我無法弄清楚如何結束對象只可能「/」。

回答

1

這是PHP無法解決的問題。你必須使用JavaScript。

使用String.prototype.indexOf()

if (location.hash.indexOf('/') != -1) { 
    // remove the slash 
    location.hash = location.hash.replace('/', ''); 
} 

如果它需要專門的最後一個斜線:

if (location.hash.substr(-1) == '/') { 
    location.hash = location.hash.slice(0, -1); 
} 
+0

,做了差離開哈希完好的工作 – Paulpro

+0

@Paulpro這似乎並不是一個要求但是無論如何都要更新。 –

+0

散列和網址操作總是踢我的屁股,所以謝謝你救我。 – user2777052

0

嘗試使用String.prototype.replace做一個正則表達式替換:

window.location.hash = window.location.hash.replace(/\/$/, '');