[问题] 每个目录都可成为自己的根目录

楼主: wanzoo (Zoo)   2016-09-06 13:39:15
好吧,我知道标题有点火星文,是这样的:
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则是没试成功。
有比较好的作法吗?
~
作者: ssccg (23)   2016-09-06 13:54:00
<a href="sub1/">,前面的/的意思就是根目录
楼主: wanzoo (Zoo)   2016-09-06 13:59:00
我知道。但不想再更动那么多连结。如何不必更改到 a href 里的内容?
作者: ssccg (23)   2016-09-06 14:07:00
那你就只能再生一个domain直接对应到/www/site1/sub1了URL解析的规则是,如果你现在的网页(或是base href指定的)的网址是scheme://hostname/path,/开头的这种url是绝对路径,直接解析成scheme://hostname加上/开头的网址你不想改这网址,那只能生另外一个hostname直接对应到你想要的根目录了我是觉得最好的作法就是一楼那个,以现在路径为准就是相对路径的用途,为什么硬要用绝对路径再去想workaround
作者: Peruheru (还在想)   2016-09-06 16:49:00
因为写太多懒的改...吗
作者: Gold740716 (项为之强)   2016-09-06 17:26:00
用 href="sub1/" 或 href="./sub1/" 。用 sed 批次改: sed -i 's#href="/#href="#g' *
作者: xdraculax (首席怪叔叔)   2016-09-07 04:03:00
.htaccess rewrite

Links booklink

Contact Us: admin [ a t ] ucptt.com