2016-02-25 74 views
5
低于

添加特定的词是我的要求: 假设我从浏览器来一个网址重写基地址,并使用mod_rewrite

http://test.aroa.com/mance 

我需要添加/ XYZ/ABC/XY /性能比较前, html的后即使用mod_rewrite的重写规则,一次击中在AEM调度员(或Apache Web服务器)

http://test.aroa.com/xyz/abc/xy/mance.html 

这种变化以下网址我一起写了下面的重新写入规则有一些重写条件(重写条件不在这里)

RewriteRule ^(/.*)$ /xyz/abc/xy$1.html [P,L] 

它的工作原理为这个网站,但通过添加/弄乱了一些其他功能XYZ/ABC/XY其他网址以及

你能建议我使用一些方法,我可以限制URL重写只为//test.aroa.com/ URL并不会影响任何其他URL

我试图把规则目录标签中使用它里面的文档根的名字。但它不能在这种情况下得到应用..

任何人都可以提出好的建议,可以帮助

回答

2

如果你想申请一个特定领域的规则,你可以添加此条件

RewriteCond %{HTTP_HOST} ^test\.aroa\.com$ [NC] 

此外,一个小细节语义:你不需要L国旗P标志(它是多余的,因为P包括L

最后,你的代码看起来应该是这样

RewriteCond %{HTTP_HOST} ^test\.aroa\.com$ [NC] 
# your other conditions 
RewriteRule ^/?(.+)$ /xyz/abc/xy/$1.html [P] 

备注:我觉得你不需要使用mod_proxyP标志),特别是因为它比简单的内部重写慢。如果你的(子)域共享同一个文档根,那么你可以通过避免与L标志更换P标志使用它