0

在过去的两天里,我花了很多时间来解决我的问题,也许有人可以帮助我。

问题:我需要将不同的 url 重定向到一个用于工件的 tomcat webbase-dir。以下 url 应指向 tomcat/artifactory webapp:

maven-repo.example.local ;maven-repo.example.local/artifactory ;srv-示例/工件

其中 maven-repo.example.local 是服务器主机名的 dns:“srv-example” 我正在通过 JK_mod 模块访问 tomcat 应用程序。webapp 在 ROOT 目录中 这是我到目前为止所得到的:

<VirtualHost *:80>
   #If URL contains "artifactory" strip down and redirect
   RewriteEngine on
   RewriteCond %{HTTP_HOST} ^\artifactory\$ [NC] 
   # (how can I remove 'artifactory' from the redirected parameters? )
   RewriteRule ^(.*)$ http://maven-repo.example.local/$1 [R=301,L] 

   ServerName localhost
   ErrorLog "logs/redirect-error_log"       
</VirtualHost>

<VirtualHost *:80>
    ServerName maven-repo.example.local
    ErrorLog "logs/maven-repo.example.local-error.log"
    CustomLog "logs/maven-repo.example.local-access.log" common   
    #calling tomcat webapp in ROOT
    JkMount /* ajp13w
</VirtualHost>

webapp 正在使用“maven-repo.example.local”,但使用“maven-repo.example.local/artifactory”tomcat 会给出 404 -“请求的资源 () 不可用。” 似乎 mod_rewrite 没有任何效果,即使我重定向到另一个页面,例如 google.com

我正在 Windows 7 上测试,在“system32/drivers/hosts”文件中添加了 maven-repo.example.local

提前致谢!

4

2 回答 2

0

非常感谢您的提示@PHP-Prabhu

一个简单的:

RedirectPermanent /artifactory /.

在 apache httpd.conf 中成功了!

于 2010-05-12T10:16:51.560 回答
-1

首先,在处理别名之前处理所有重定向,因此匹配重定向或重定向匹配的请求将永远不会应用别名。其次,别名和重定向按照它们在配置文件中出现的顺序进行处理,第一个匹配优先

请看这个网址

http://httpd.apache.org/docs/2.1/mod/mod_alias.html

于 2010-05-11T07:56:21.290 回答