0

我的问题是,我的 urewrite.xml 文件中有类似外观规则的问题,事实上第一条规则将起作用,但随后的类似规则将不起作用。这是一个例子:

<rule>
<from>Porsche-911_991-3.4_Carrera.jsp</from>
<to>cars.jsp?makeID=640&amp;modelID=3747</to>
</rule>

<rule>
<from>Test-Porsche-911_991-3.4_Carrera.jsp</from>
<to>test.jsp?makeID=640&amp;modelID=3747</to>
</rule>

第一条规则有效,第二条无效,原因我不明白。如果我手动访问 test.jsp?makeID=640&modelID=3747 页面可以工作,如果我尝试 Test-Porsche-911_991-3.4_Carrera.jsp 页面不会出现,只会生成错误日志指定参数丢失。

我希望在我拔掉所有头发之前有人可以帮助我。

4

1 回答 1

0

第一条规则Porsche-911_991-3.4_Carrera.jsp的匹配文本 是第二条规则的匹配文本的子字符串。结果,第二个 URL 消失了。

使用插入符号元字符来区分两个 URL:

<rule>
  <from>^/Porsche-911_991-3.4_Carrera.jsp</from>
  <to>cars.jsp?makeID=640&amp;modelID=3747</to>
</rule>

<rule>
  <from>^/Test-Porsche-911_991-3.4_Carrera.jsp</from>
  <to>test.jsp?makeID=640&amp;modelID=3747</to>
</rule>

颠倒顺序以将更具体的 URL 放在首位也可以:

<rule>
  <from>Test-Porsche-911_991-3.4_Carrera.jsp</from>
  <to>test.jsp?makeID=640&amp;modelID=3747</to>
</rule>

<rule>
  <from>Porsche-911_991-3.4_Carrera.jsp</from>
  <to>cars.jsp?makeID=640&amp;modelID=3747</to>
</rule>
于 2013-08-15T01:05:47.353 回答