有人有空帮我解答一个apache虚拟目录的问题吗?
问题是这样的,在websphere/httpserver/conf下的httpd_1.conf.txt设置虚拟路径实现自动跳转,如下:ProxyPass        /upload http://10.10.42.35/upload
ProxyPassReverse /upload http://10.10.42.35/uploadProxyPass        / http://10.10.42.35:9080/
ProxyPassReverse / http://10.10.42.35:9080/
         
我是想当网址后加/,能跳转到http://10.10.42.35:9080/,然后加/upload,能跳转到http://10.10.42.35/upload. 可是实际情况是单独设/upload,没有设/时(把/那两行注释了),服务器可以实现自动跳转http://10.10.42.35/upload,但是同时设置/和/upload两个路径时,服务器只能跳转/,而无法跳转/upload。
特来请教各位达人,有空的话就帮小弟看看,谢谢!!

解决方案 »

  1.   


    你确定在配置文件的顺序是这样的,而不是
    ProxyPass / http://10.10.42.35:9080/
    ProxyPassReverse / http://10.10.42.35:9080/
    ProxyPass /upload http://10.10.42.35/upload
    ProxyPassReverse /upload http://10.10.42.35/upload
      

  2.   

    这会比较麻烦,主要是 / 的路径级别比 /upload 级别更高。之前碰到过,不过不太记得怎么处理的了:ProxyPass /upload/ http://10.10.42.35/upload/
    ProxyPassReverse /upload/ http://10.10.42.35/upload/ProxyPass / http://10.10.42.35:9080/
    ProxyPassReverse / http://10.10.42.35:9080/
    你这样试试看,另外顺序很关键,因为Apache处理时也按顺序来匹配,先成立的就先跳转了,不过我忘了是后面的优先级高还是前面的优先级高了。
      

  3.   

    问题解决了ProxyPass /upload/ http://10.10.42.35/upload/
    ProxyPassReverse /upload/ http://10.10.42.35/upload/改成
    ProxyPass /upload !
    ProxyPassReverse /upload !!号表示不解析,然后就自动跑到虚拟目录alias那里去了