2
我遇到了一個問題,我似乎無法弄清楚,我使用jQuery地址插件來存儲歷史記錄並啓用深度鏈接,點擊後的典型網址如下所示:jQuery - 地址插件問題
這裏http://mysite.com/#!/page
問題是我需要擺脫過去的/
的,所以我需要它看起來像這樣:
http://mysite.com/#!page
我使用的插件版本1.2 - 最新的是1.4。當我使用1.4我的hashbang #!
消失.. 任何人都知道爲什麼?即使如此,更新後的版本也會產生相同的問題。
解決此問題的原因是如果請求?_escaped_fragment_=
,我使用301重定向到'漂亮的URL'。所以這個:
http://mysite.com/data/#!page1
將成爲:
http://mysite.com/data/page1
目前它這樣做:mysite.com/data//page1
這裏是的.htaccess重寫:
<IfModule mod_rewrite.c>
RewriteEngine on
# Rewrite current-style URLs of the form 'index.php?url=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
</IfModule>
,這裏是一些相關的PHP我使用頁面加載:
if ($fragment = $_GET['_escaped_fragment_']) {
// OPTION 1: if Google is reqesting an '_escaped_fragment_=' page, then redirect to a clean URL
header("Location: $base/$fragment", 1, 301);
exit;
}
任何關於如何使這種情況更好的幫助是讚賞..我不想'使用HTML5歷史API'作爲ive探索這個選項已經。
你應該張貼您的解決方案作爲一個答案,標記爲接受的 - 在這種情況下,它會爲那些在類似情況下更加有用,因爲現在它已經0回答您的問題不看起來有吸引力.. 。 – LazyOne 2011-06-18 22:16:11