2017-01-20 42 views
0

我试图做的是建立一个重写规则,使输入URL时,它会显示为example.com/test的Apache Tomcat改写

因此,例如,我试图做到这一点如果这甚至是可能的。

我设置site.example.com的CNAME指向site.devEnvironment.com(DEV在厂商一侧远程环境)

如果用户访问site.example.com网址将被重新编写的东西沿着这些线路test.com/test

我有什么到目前为止,但似乎并不奏效,当我访问site.example.com它保持原样

# rewrite rules for site.example.com - owned by Company A 
RewriteCond %{http_host} ^site\.example\.com [NC,OR] 
RewriteCond %{http_host} ^www\.site\.example\.com [NC] 
RewriteRule $ http://test.com/test/ 

我需要做一个反向代理,然后从那里重新写入?

编辑:我很抱歉,我应该说得更好一点。 site.example.com由test.com(A公司)拥有。因此,我们将CNAME更改为指向site.devEnvironment.com(companyB.com)

并且test.com/test是我们的服务器和目录,试图将网址重写为test.com/test而不是网站。 example.com

+0

我投票结束这个问题作为题外话,因为它属于[服务器故障](https://serverfault.com) – cdhowie

回答

0

尝试使用这样的:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^site\.example\.com$ 
RewriteCond %{REQUEST_URI} !^/site/ 
RewriteRule (.*) /test/$1 

这应该让这个子域名是隐藏的,test写成一个目录。确保在测试之前清除缓存。

+0

感谢您的回应Thickguru,我已经做出了改变与您的建议jsut即使在清除缓存后,也会发生这种情况,但没有任何变化 – POPEYE1716