作者wanzoo (Zoo)
看板Web_Design
標題[問題] 每個目錄都可成為自己的根目錄
時間Tue Sep 6 13:39:15 2016
好吧,我知道標題有點火星文,是這樣的:
apache網站的根目錄為/www/
根目錄下有兩個目錄,每個目錄都是一個獨立的網站,比如
/www/site1
/site1/sub1
/www/site2
/site2/sub1
site1的index.html,有一行是<a href="/sub1/">,
但是這個連結會失效,因為apache會去/www/下找/sub1/,而不是在site1/下的/sub1/。
我知道直接在 a href 裡填入/site1/sub1即可,但就是不方便這麼做,
因為常常要把網站搬到不同的目錄,
不想要每搬一次就改一次網頁內容,僅管有辦法快速批次更動就是了。
試過在head裡填入 base href的作法,但只會對檔案生效,無法用於目錄。
虛擬主機的話,我用的是nas,所以只能更換埠號,無法建一個虛擬資料夾。
.htaccess則是沒試成功。
有比較好的作法嗎?
~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.161.4.50
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Web_Design/M.1473140358.A.8B2.html
1F:→ ssccg: <a href="sub1/">,前面的/的意思就是根目錄 09/06 13:54
2F:→ wanzoo: 我知道。但不想再更動那麼多連結。 09/06 13:59
3F:→ wanzoo: 如何不必更改到 a href 裡的內容? 09/06 14:00
4F:→ ssccg: 那你就只能再生一個domain直接對應到/www/site1/sub1了 09/06 14:07
5F:→ ssccg: URL解析的規則是,如果你現在的網頁(或是base href指定的) 09/06 14:08
6F:→ ssccg: 的網址是scheme://hostname/path,/開頭的這種url是絕對路 09/06 14:12
7F:→ ssccg: 徑,直接解析成scheme://hostname加上/開頭的網址 09/06 14:12
8F:→ ssccg: 你不想改這網址,那只能生另外一個hostname直接對應到你想 09/06 14:13
9F:→ ssccg: 要的根目錄了 09/06 14:14
10F:→ ssccg: 我是覺得最好的作法就是一樓那個,以現在路徑為準就是相對 09/06 14:19
11F:→ ssccg: 路徑的用途,為什麼硬要用絕對路徑再去想workaround 09/06 14:20
12F:推 Peruheru: 因為寫太多懶的改...嗎 09/06 16:49
13F:推 Gold740716: 用 href="sub1/" 或 href="./sub1/" 。 09/06 17:26
14F:→ Gold740716: 用 sed 批次改: sed -i 's#href="/#href="#g' * 09/06 17:29
15F:→ xdraculax: .htaccess rewrite 09/07 04:03