2017-10-05 75 views
0

我正在維護別人寫的網站。他在html中使用絕對路徑來請求資產文件,並且他認爲該項目始終安裝在域的根目錄下。如何使用apache將文件重新路由到其他目錄?

現在我正在測試網站;我將該項目安裝在一個子目錄中。我想將以特定字符開頭的文件重定向到子文件夾。

例如,他寫了這樣的事情

<img src="/en/wp-content/themes/....."> 

所以,現在的服務器會從根開始像example.com/en/wp-content/....

搜索文件我安裝項目在/foo/enexample.com/foo/en。我想使用.htaccess重新設定以/en/wp-content/themes/foo/en/wp-content/themes開頭的網址。我該怎麼辦?

這是我寫的:

RewriteEngine On 

RewriteRule ^en/wp-content/themes/(.*)$ /foo/en/wp-content/themes/$1 

但它不工作....

+0

是否啓用了mod-rewrite並且允許使用htaccess overrider? – Webdesigner

+0

是的,當我擰東西,網站停止工作(無法訪問)。 –

+0

服務器版本:Apache/2.4.7(Ubuntu)。他們是我的.htaccess中的唯一內容 –

回答

0

我會改變線路只有一點點只是要確定,這是不干擾與任何其他htaccess的文件使用[L]或[END]:

RewriteEngine On 
RewriteRule ^/?en/wp-content/themes/(.*)$ /foo/en/wp-content/themes/$1 [L] 

[L]是指最後https://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_l

[END] https://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_end

+0

我想知道,如果網址是example.com/en/...,根目錄中的.htaccess會接管?或foo/en?如果我想像這樣重寫url,我應該在root還是/ foo/en中創建.htaccess? –

相關問題