Apache - 如何从上下文路径获取资源,而不是在尝试从/获取时的默认值

时间:2013-08-29 09:10:08

标签: apache root contextpath

我的apache服务器上运行了各种Web应用程序。

我可以使用http://localhost:8080/app1/login

访问第一个网络应用

但是在登录页面中,我正在尝试访问图像,login.png为“/images/login.png”。这会尝试从默认Web应用程序获取图像,而不是从当前工作的Web应用程序获取图像。

我不想更改apache的默认Web应用程序。有没有办法可以访问图像,如“/images/login.png”,而不是“/app1/images/login.png”或“../ images / login.png”

2 个答案:

答案 0 :(得分:2)

或者,如果您想使用RewriteRule,请将此添加到您的网络服务器根目录.htaccess。这将检查请求的文件名是否不是物理文件或目录。如果不是。它会重定向到您的/ app目录

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^/images/(.*) /app1/images/$1 [L,QSA]
</IfModule>

答案 1 :(得分:0)

如果您在html中使用它...那么

./images/login.png

修改 对不起,我没有看到你不想使用那条路径...因为其他选项可以使用modRewrite ...你可以重写你的路径...所以如果你将使用/login/image.jpg可以apache会自动为你重写为./login/image.jpg