我有一个错误,我似乎无法用Eclipse中的Tuckey urlrewrite配置文件解决。我已经将违规规则缩小到这些条目:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.1//EN"
"http://tuckey.org/res/dtds/urlrewrite3.1.dtd">
<urlrewrite>
<rule>
<from>/admin/**</from>
<to>/app/admin/$1</to>
</rule>
<outbound-rule>
<from>/app/admin/**</from>
<to>/admin/$1</to>
</outbound-rule>
<rule>
<from>/**</from>
<to>/app/static/$1</to>
</rule>
</urlrewrite>
此文件在Eclipse XML编辑器中报告验证错误:
元素类型“urlrewrite”的内容必须匹配 “((规则|类规则)的,出站规则的,抓*)”
如果我删除了<outbound-rule>
或第二个<rule>
(路由“/ **”),则错误消失。
据我所知,我已经遵守了DTD,我做错了什么?
答案 0 :(得分:2)
你必须让outbound-rule
成为最后一个元素。
<urlrewrite>
<rule>
<from>/admin/**</from>
<to>/app/admin/$1</to>
</rule>
<rule>
<from>/**</from>
<to>/app/static/$1</to>
</rule>
<outbound-rule>
<from>/app/admin/**</from>
<to>/admin/$1</to>
</outbound-rule>
</urlrewrite>