我正在尝试使用 iis 7 microsoft rewrite 插件来获得类似的东西。
如果用户请求...
/author/bob/ - 如果用户请求则显示 bobs 作者页面
...
/author/bob/rss - 通过将其重写为 /author/bob/?rss 来显示作者 rss 页面
但是,我想以通用方式对以 /rss 结尾的 url 执行此操作,例如 2 个路径部分...
<rule name="rss 2 dir listing" stopProcessing="false">
<match url="^([^/]+)/([^/]+)/rss$" />
<action type="Rewrite" url="/{R:1}/{R:2}/?rss" appendQueryString="true" />
</rule>
所以上述规则必须通过另一个重写规则,即映射到作者页面的规则。
但现在看起来这可能会尝试到一个静态目录,即 404 错误输出是
Requested URL http://site.l:80/author/bob/?rss
Physical Path C:\Users\Workspace\site.l\author\bob\
所以它正在寻找一个静态目录,但你可以看到它被重写为 ?rss 并尝试http://site.l:80/author/bob/?rss
浏览器中的 url 工作
我正在使用带有 railo tomcat 的 iis,因此可能是连接器问题
这是理想情况下包含 rss 的当前作者规则,我想删除每个规则添加 rss 并使用上面的通用规则。
<rule name="author item" stopProcessing="false">
<match url="^author/([a-zA-Z0-9-]+)/(rss)?$" />
<action type="Rewrite" url="/index.cfm?event=AuthorController.getItem&name={R:1}&{R:2}" appendQueryString="true" />
</rule>