看板 Web_Design 關於我們 聯絡資訊
好吧,我知道標題有點火星文,是這樣的: 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://www.ptt.cc/bbs/Web_Design/M.1473140358.A.8B2.html
ssccg: <a href="sub1/">,前面的/的意思就是根目錄 09/06 13:54
wanzoo: 我知道。但不想再更動那麼多連結。 09/06 13:59
wanzoo: 如何不必更改到 a href 裡的內容? 09/06 14:00
ssccg: 那你就只能再生一個domain直接對應到/www/site1/sub1了 09/06 14:07
ssccg: URL解析的規則是,如果你現在的網頁(或是base href指定的) 09/06 14:08
ssccg: 的網址是scheme://hostname/path,/開頭的這種url是絕對路 09/06 14:12
ssccg: 徑,直接解析成scheme://hostname加上/開頭的網址 09/06 14:12
ssccg: 你不想改這網址,那只能生另外一個hostname直接對應到你想 09/06 14:13
ssccg: 要的根目錄了 09/06 14:14
ssccg: 我是覺得最好的作法就是一樓那個,以現在路徑為準就是相對 09/06 14:19
ssccg: 路徑的用途,為什麼硬要用絕對路徑再去想workaround 09/06 14:20
Peruheru: 因為寫太多懶的改...嗎 09/06 16:49
Gold740716: 用 href="sub1/" 或 href="./sub1/" 。 09/06 17:26
Gold740716: 用 sed 批次改: sed -i 's#href="/#href="#g' * 09/06 17:29
xdraculax: .htaccess rewrite 09/07 04:03