2016-09-15 115 views
0

我真的不知道如何搜索我遇​​到的這個問題。我必須將CMS部署到學校項目的域的子文件夾中:www.domain.de/new 問題是,CMS使用絕對路徑引用所有文件,因此css的路徑例如是「www。 domain.de/styles/file.css「而不是」www.domain.de/new/styles/file.css「htaccess文件重定向從子文件夾的絕對鏈接

對於這個問題,我們的顧問告訴我們他有一個htaccess文件來解決這個問題。它包含

RewriteEngine On 
RewriteBase /new/ 

它沒有做任何事情(據我們所知),我並沒有真正驚訝。請告訴我,如果我錯了,但我認爲htaccess文件將被「執行」,你進入他們所在的文件夾,所以要重寫將影響絕對路徑,我們必須把htaccess文件放在根摺疊?我們不能。

我能想到的唯一解決方案是使用子域來訪問指向我們的新目錄的文件夾(類似new.domain.de)。

問候 Neokil

+0

http://stackoverflow.com/questions/21347768/what-does-rewritebase-do-and-how-to-use-it – Vrac

回答

0

你是正確的 - 這.htaccess文件做絕對沒問題。它設置了一個變量,但沒有做任何事情。

假設您無權訪問此CMS的源代碼,那麼,您建議的解決方案(將其放入新域的根文件夾中)是最有效的解決方案。

如果失敗了,您可以使用類似mod_substitute - http://httpd.apache.org/docs/current/mod/mod_substitute.html的內容來修改HTML,因爲它會向客戶端提供HTML,從而使CSS URL更正。例如:

Substitute s!/styles/!/new/styles/! 

但是,我懷疑這只是一個部分的解決方案。

當然,作爲我,我會推薦2300萬個開源CMS中的一個,而不是這個看起來設計得很差的CMS。或者你的「顧問」可能不知道他在說什麼。