2016-07-05 143 views
1

我在加載我的網址以a /結尾的那一刻加載css和圖像時遇到了問題。我工作過我的本地和網址的形式改寫:由於url重寫導致CSS,圖像和JS未加載

localhost/mysite/public/user/testuser/books/1234 

與請求加載testuser的用戶個人頁面,更改頁面國家把重點放在一本書id爲1234

一切工作正常localhost/mysite /公共/用戶,但現在我介紹一個/或/ testuser的URL在CSS,JS和圖像中斷。我確實有地址重寫,並閱讀了一些說明.htaccess重寫問題的帖子。這裏是我的網站的結構:例如::../public/css/styles.css

mysite/ 
    app/ 
     controllers/ 
     models/ 
     etc... 
    public/ 
     css/ 
      styles.css 
     images/ 
      profilepic.png 
     js/ 
    index.php 

的所有圖片,JS和CSS是通過相對路徑引用。

的.htaccess的內容是:

Options -MultiViews 
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

我讀了解決方案,包括所有的路徑更改爲絕對或改變他們/css/styles.css例如混合。當然絕對是可行的,但當我將網站移動到其實際的域名時,這是沒有意義的,我需要更改每個實例。

還有有關排除CSS,JPEG等筆記...從重寫文件中使用:

RewriteCond %{REQUEST_URI} !^.*\.(css|jpe?g|gif|png|js|ico)$ [NC] 

不幸的是這些選項都無法工作,我不知道還有什麼地方我要看看。有任何想法嗎?

+0

[Seo Friendly Url css img js not working](http://stackoverflow.com/questions/31241701/seo-friendly-url-css-img-js-not-working) – starkeen

+0

答案是否有效爲你還是什麼? –

+0

是的,謝謝。那就是訣竅。我從來沒有遇到過的實際實施。這讓我想知道一些較大的網站正在做什麼來解決這個問題,它有類似的URL重寫。 – Runicode

回答

1

如果你不想改變每一個實例,當你移動你的網站,只是更新HTML頁面標題的<head>部分,並添加這個

<base href="http://www.example.com/" /> 

<base href="/" /> 

這將照顧這個問題,你不必將所有實例更新到絕對路徑。