作者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/cn.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