在过去的两天里,我花了很多时间来解决我的问题,也许有人可以帮助我。
问题:我需要将不同的url重定向到一个用于神器的tomcat webbase-dir。 以下网址应指向tomcat / artifactory webapp:
maven-repo.example.local; maven-repo.example.local / artifactory; SRV-示例/ artifactory的
其中maven-repo.example.local是server-hostname的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
提前致谢!
答案 0 :(得分:0)
非常感谢您的提示@ PHP-Prabhu
一个简单的:
RedirectPermanent /artifactory /.
在apache httpd.conf中做了伎俩!
答案 1 :(得分:-1)
首先,在处理别名之前处理所有重定向,因此与Redirect或RedirectMatch匹配的请求永远不会应用别名。其次,别名和重定向按照它们在配置文件中出现的顺序进行处理,第一次匹配优先
请参阅此网址