2012-10-18 40 views
3

我的項目是在CodeIgniter中設置的。清理CI的URL我添加了一個重寫規則,以消除其醜 '的index.php' 頁面htaccess的:CodeIgniter和Javascript網址重寫衝突

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php/$0 [PT,L] 

這條規則重寫:

https://baseurl/index.php 

https://baseurl/ 

現在, 我也想使用JavaScript深層鏈接,因爲該項目嚴重依賴Ajax頁面刷新。深層鏈接看起來是這樣的:

https://baseurl/#/deeplink 

問題是:重寫規則刪除我的beatifully注入深層鏈接和用戶重定向到根網站... 我怎樣才能擺脫index.php文件,但不刪除我的深層鏈接在硬盤上刷新?

謝謝!

戴夫蒂默曼

+0

您是否嘗試過使用CodeIgniter文檔推薦的htaccess? http://codeigniter.com/user_guide/general/urls.html我現在無法測試它,但我想它可以解決您的問題... –

+0

奇怪的是,這些重寫規則根本不起作用! – user1756772

回答

1

片段#/deeplink永遠不會發送到服務器,URL片段周圍只在客戶端(瀏覽器)保持。它不會作爲請求的一部分發送到服務器。請求:

https://baseurl/#/deeplink 

看起來沒有什麼不同的index.php腳本比:

https://baseurl/ 

不知道你是如何以往任何時候都能夠讀取開始與服務器上的片段。

+0

我明白了。比URL重寫和JQuery的深度連接不會真的走到一起我猜...任何其他建議將受到歡迎。 – user1756772