2011-07-23 99 views
1

我目前正在開發一個網站,並在網站根目錄下面的重寫規則:的.htaccess打破網頁在Chrome中,FF/IE正常工作

RewriteRule ^loader$ loader.html [L] 

所以/網站/裝載機會給加載器而不是/site/loader.html。

奇怪的是,Chrome在使用較短的URL時不會加載任何外部內容(CSS,js,圖片等)。如果您附加.html,它工作正常。它在FF和IE中也能正常工作,所以我懷疑它是服務器配置錯誤。

在Chrome開發者控制檯有很多的線沿線的錯誤:

(red cross) GET http://localhost/site/cs_inc/someResource.js 

如果我訪問該網址直接(或如果html的追加到初始URL)一切工作正常。

有誰知道我該如何解決這個問題?

編輯:根據要求,整個.htaccess文件。沒有什麼真正有趣的。

RewriteEngine on 
RewriteRule ^function$ function.php [L] 
# hide the .html 
RewriteRule ^main$  main.html [L] 
RewriteRule ^loader$ loader.html [L] 

Options +Indexes 

AddDefaultCharset utf-8 

# Manifest file 
AddType text/cache-manifest .manifest 
# Don't cache it. Ever. 
<Files offline.manifest> 
    ExpiresActive On 
    ExpiresDefault "access" 
</Files> 
+1

你可以發佈整個htaccess文件嗎? – teriiehina

+0

你如何參考外部內容?那些外部內容的網址是什麼?請給我們一些HTML請。 (嘗試給出絕對路徑,所以img/test.jpg必須成爲/img/test.jpg) – Gerben

+0

URL需要是相對的,因爲它們被部署到各種測試環境中。通常我只是在php中添加一個基礎或前綴,但我不能這麼做,因爲它是純粹的客戶端。 – dtech

回答

0

這是一個有點傻:標籤中的一個有一個類型=「文/ JavaScript的」,而不是「文字/ CSS」。 Chrome瀏覽器忽略了錯誤,如果有一個.html擴展名,但它使得它完全翻轉,如果.html被忽略...